自动将单元格复制到Excel VBA中的新工作表

时间:2018-08-01 19:03:08

标签: excel vba excel-vba

我正在使用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

谢谢您的帮助!

1 个答案:

答案 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