簡體   English   中英

自動將單元格復制到Excel VBA中的新工作表

[英]Auto Copy Cells to New Sheet in 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

感謝您的任何幫助!

我建議不要不必要地丟失.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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM