excel - 将单独合并单元格中的值复制到一个合并单元格中,以逗号分隔的坐标
问题描述
我是VBA的初学者。我正在尝试将数据从 1 个工作簿复制到另一个工作簿,特别是将 2 个合并单元格中的数据作为坐标复制到 1 个合并单元格中。
Cell 1 = 58.634
Cell 2 = 63.458
Destination Cell = 58.634, 63.458
而且我还需要反向执行操作,例如:从以逗号分隔的坐标单元格中检索各个值并将它们粘贴到 2 个单独(合并)的单元格中。
截至目前,我的代码只是由多个单元格上的一系列简单数据复制/粘贴组成。多行这样:
Workbooks("Origin file.extension").Worksheets("sheet1").Range(" ").Copy
Workbooks("Destination file.extension").Worksheets("sheet1").Range(" ").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
解决方案
我已经评论了代码。
Option Explicit
Sub Sample()
Dim wbOrigin As Workbook
Dim wbDest As Workbook
'~~> Change this to the relevant workbooks
Set wbOrigin = Workbooks("Origin file.extension")
Set wbDest = Workbooks("Destination file.extension")
Dim wsOrigin As Worksheet
Dim wsDest As Worksheet
'~~> Change this to the relvant worksheets
Set wsOrigin = wbOrigin.Sheets("Sheet1")
Set wsDest = wbDest.Sheets("Sheet1")
Dim rngOriginMergedOne As Range
Dim rngOriginMergedTwo As Range
Dim rngMergedDest As Range
'~~> Change these to the relevant merged cells
Set rngOriginMergedOne = wsOrigin.Range("A1")
Set rngOriginMergedTwo = wsOrigin.Range("D1")
Set rngMergedDest = wsDest.Range("A1")
'~~> This is the delimiter
Dim delim As String: delim = ", "
'~~> Combining two values
rngMergedDest.Value = rngOriginMergedOne.Value2 & delim & rngOriginMergedTwo.Value2
End Sub
相反,将rngMergedDest.Value = rngOriginMergedOne.Value2 & delim & rngOriginMergedTwo.Value2
上面代码中的行替换为下面的行。
'~~> The Reverse
rngOriginMergedOne.Value = Split(rngMergedDest.Value2, delim)(0)
rngOriginMergedTwo.Value = Split(rngMergedDest.Value2, delim)(1)
推荐阅读
- java - 你能用一个 AtomicInteger 来做一个 ReadWriteLock 吗?
- ruby - 包资源中only_if 验证包是否安装
- python - 如何在古代 Python/Jython 中滚动我自己的集合?
- bootstrap-4 - Bootstrap 4将popover的内容设置为div的内容
- c# - 如何从 ASP.NET Core 中的 Request.Body 读取参数
- angular - 成堆的 div 的 angular2
- html - 悬停时不会发生 CSS 文本缩放
- node.js - Mongoose Promise 未填充到脚本中
- python - 当项目(整数)彼此相距 1 时,如何拆分列表?
- angular6 - Angular JS 指令 scope.$watch 进入 Angular 6