簡體   English   中英

宏將一行數據從一個工作簿復制到另一個工作簿

[英]macro to copy one row of data from one workbook to another

嗨,我是VBA的新手想要將從C:14開始的一行代碼復制到K:14並將其粘貼到另一個工作簿中,進入行C5到K5。 我寫了這段代碼,但仍然出錯,我是在正確的軌道上嗎?

Sub Shankill()
Dim sBook_t As String
Dim sBook_s As String

Dim sSheet_t As String
Dim sSheet_s As String

Dim lMaxRows_t As Long
Dim lMaxRows_s As Long

Dim sMaxCol_s As String

Dim sRange_t As String
Dim sRange_s As String

    sBook_t = "Shankill DR.xls"
    sBook_s = "DR complete.xls"

    sSheet_t = "Shankill DR"
    sSheet_s = "DR complete"

    lMaxRows_t = Workbooks(sBook_t).Sheets(sSheet_t).Cells(Rows.Count, "C:14").End(xlUp).Row
    lMaxRows_s = Workbooks(sBook_s).Sheets(sSheet_s).Cells(Rows.Count, "C5").End(xlUp).Row

    sMaxCol_s = Workbooks(sBook_s).Sheets(sSheet_s).Cells(1, Columns.Count).End(xlToLeft).Address
    sMaxCol_s = Mid(sMaxCol_s, 2, InStr(2, sMaxCol_s, "$") - 2)

    If (lMaxRows_t = 1) Then
        sRange_t = "C14:" & sMaxCol_s & lMaxRows_s
        sRange_s = "C:5" & sMaxCol_s & lMaxRows_s

        Workbooks(sBook_t).Sheets(sSheet_t).Range(sRange_t) = Workbooks(sBook_s).Sheets(sSheet_s).Range(sRange_s).Value

    Else
        sRange_t = "C:14" & (lMaxRows_t + 1) & ":" & sMaxCol_s & (lMaxRows_t + lMaxRows_s - 1)
        sRange_s = "C:5" & sMaxCol_s & lMaxRows_s

        Workbooks(sBook_t).Sheets(sSheet_t).Range(sRange_t) = Workbooks(sBook_s).Sheets(sSheet_s).Range(sRange_s).Value


    End If

End Sub

想要將從C:14開始的一行代碼復制到K:14並將其粘貼到另一個工作簿中,進入行C5到K5。

所有你需要的是

Sub Shankill()
    Dim sBook_t As String
    Dim sBook_s As String

    Dim sSheet_t As String
    Dim sSheet_s As String

    sBook_t = "Shankill DR.xls"
    sBook_s = "DR complete.xls"

    sSheet_t = "Shankill DR"
    sSheet_s = "DR complete"

    Workbooks(sBook_t).Sheets(sSheet_t).Range("C14:K14").Copy _
    Workbooks(sBook_s).Sheets(sSheet_s).Range("C5")
End Sub

來自評論的后續

是的我想要復制計算結果的值嗎?

將您的代碼更改為此(未經測試)

Sub Shankill()
    Dim sBook_t As String
    Dim sBook_s As String

    Dim sSheet_t As String
    Dim sSheet_s As String

    sBook_t = "Shankill DR.xls"
    sBook_s = "DR complete.xls"

    sSheet_t = "Shankill DR"
    sSheet_s = "DR complete"

    Workbooks(sBook_t).Sheets(sSheet_t).Range("C14:K14").Copy
    Workbooks(sBook_s).Sheets(sSheet_s).Range("C5").PasteSpecial Paste:=xlPasteValues
End Sub

嘗試這個

Sub macro1()
Range("A3:M6").Copy Destination:=Cells(ActiveCell.Row + 1, 1)
End Sub

暫無
暫無

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

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