我正在使用VBA将值从工作表“ FV”复制到工作表“ AX”。我从工作表“ FV”中复制了三个值,它们位于单元格J7,K7和L7中。我的代码正确地复制并粘贴了值J7和K7,但是由于某种原因L7没有被复制。我对VBA并不是很熟悉,所以我很难在代码中找出问题的根源。
Sub CopyData()
Dim sht1 As Worksheet
Dim sht2 As Worksheet
Dim cRng As Range
Dim dCol As Long
Set sht1 = ThisWorkbook.Sheets("FV")
Set sht2 = ThisWorkbook.Sheets("AX")
Set cRng = sht1.Range("J7:L7")
dCol = sht2.Cells(1, Columns.Count).End(xlToLeft).Column + 1
sht2.Range(Cells(1, dCol).Address, Cells(1, dCol).Address) = cRng.Value
End Sub
谢谢您的帮助!
答案 0 :(得分:1)
我建议丢失.Address(不是必需的),并确保将范围设置为相等,例如
sht2.Range(sht2.Cells(1, dCol), sht2.Cells(1, dCol+2))=cRng
完全限定范围内的单元格引用,以避免引发错误。
@ marucciboy2的要点是重新使用列数以确保宽度匹配。
sht2.Range(sht2.Cells(1, dCol), sht2.Cells(1, dCol+cRng.columns.count-1))=cRng