我目前正在使用一些 Excel,我正在创建一些宏来让我的生活更轻松。我正在寻找一些代码,可以将 B 列中的所有数据移动到 A 列下方。代码的问题是列中的数据量总是不同的。因此粘贴位置总是不同的。我只是在寻找将其向下移动 x 量并向左移动一列的代码。
截屏:
答案1
Sub moveData()
Dim rowAcount As Long
Dim rowBcount As Long
Dim currSheet As Worksheet
Set currSheet = ActiveSheet
currSheet.Range("A1").End(xlDown).Select
rowAcount = ActiveCell.Row
rowAcount = rowAcount + 1
currSheet.Range("B1").End(xlDown).Select
rowBcount = ActiveCell.Row
currSheet.Range("B1:B" & rowBcount).Copy _
Destination:=currSheet.Range("A" & rowAcount & ":A" & (rowAcount + rowBcount))
Columns(2).Delete
End Sub
警告:如果您有任何如果数据中存在空白,则必须使用类似下面的方法选择数据集:
rowAcount = currSheet.Range("A1").CurrentRegion.Rows.Count
rowBcount = currSheet.Range("B1").CurrentRegion.Rows.Count
但是这会复制工作表中的总行数,如果 B 行的数据多于 A 行,则会出现空白。因此我首先选择了上述答案。
编辑修正错字