我有一个表格,其中包含从A列到G列的数据。在" A:B"中插入2个新列后,我想复制粘贴第I列中的值(最初位于G列)到A栏。 但是我的" Range(lrow," A")"特别是我无法弄明白。我知道这可能看起来像是一个错误的错误,但我希望有人能够指出我哪里出错了。在此先感谢!!
Sub Merge()
Dim lRow As Long
lRow = Range("A" & Rows.Count).End(xlUp).Row
Columns("A:B").Insert Shift:=xlToRight
Range(lRow, "A").Value = Range(Range("I1"),Range("I1").End(xlDown)).Value
End Sub
答案 0 :(得分:1)
在VBA中使用动态更改的行或列时,我通常更喜欢使用:
Range(Cells(row,col), Cells(row,col))
这比尝试计算Excel为您记录的字母数字单元格指定要可靠得多。只需Dim row
和Dim col
并使用这些来完成对细胞的所有引用。
这个网站比我更详细: https://excelmacromastery.com/excel-vba-range-cells/