簡體   English   中英

如何將所有值從工作表1復制並粘貼到工作表2的其余部分

[英]How To Copy All Value From Sheet One and Paste to Rest of Sheet 2

可以讓我知道如何從工作表1中復制值並將其粘貼到其他現有值中嗎? 我有兩個名為“ DTMGIS”和“ DTMFinal”的工作表,它們的結構完全相同,但是我需要將“ DTMGIS”中的值添加到“ DTMFinal”的末尾(我的意思是在最后一行之后)?

我已經在這篇文章中從Soren那里獲得了這段代碼,該代碼對我來說適用於在空白表中進行復制,但是對於將數據附加到現有文件上我想我還需要更多

Sub CopyPasteValues()
    Dim ws1 As Worksheet, ws2 As Worksheet

    Set ws1 = ThisWorkbook.Sheets("DTMGIS")
    Set ws2 = ThisWorkbook.Sheets("DTMEdit")

    ws1.Range(ws1.UsedRange.Address).Copy
    ws2.Range("a1").PasteSpecial xlPasteValues
End Sub

嘗試這個

Sub CopyPasteValues()
    Dim ws1 As Worksheet, ws2 As Worksheet
    Dim rng1 As Range, rng2 As Range

    Set ws1 = ThisWorkbook.Sheets("DTMGIS")
    Set ws2 = ThisWorkbook.Sheets("DTMEdit")

    With ws1
        Set rng1 = .Cells.Find("*", .Cells(1, 1), xlValues, xlWhole, xlByRows, xlPrevious)
        Range(.Cells(1, 1), rng1).EntireRow.Copy
    End With
    With ws2
        Set rng2 = .Cells.Find("*", .Cells(1, 1), xlValues, xlWhole, xlByRows, xlPrevious)
        If rng2 Is Nothing Then
            .Cells(1, 1).PasteSpecial xlPasteValues
        Else
            rng2.EntireRow.Cells(2, 1).PasteSpecial xlPasteValues
        End If
    End With
End Sub

更新為避免UsedRange

這是您的問題的一般解決方案,如果您可以提供一些要復制粘貼的示例數據,則可以使Soluton更加具體

通用解決方案如下:

    Sub CopyPaste()

'Copying Data
Sheets("DTMGIS").Activate
Range("A1").Select
'    DataStart = Selection.Address
'    Selection.End(xlToRight).Select
'    Selection.End(xlDown).Select
'    DataEnd = Selection.Address
'    Range(DataStart, DataEnd).Select
'    Uncomment The Above 5 lines if u have Multiple columns of data
'    and Comment the Below line.
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy


' Pasting data
Sheets("DTMFinal").Activate
If WorksheetFunction.CountA(Cells) = 0 Then     'Checking If Sheet has no data
    Range("A1").Select
    ActiveCell.PasteSpecial
Else
    Range("A1").Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
    ActiveCell.PasteSpecial
End If


End Sub

隨意要求對代碼進行任何修改。 由於沒有樣本數據,因此我做了一些假設。

希望這可以幫助。

Sub CopyPasteValues()
    Dim ws1 As Worksheet

    Set ws1 = ThisWorkbook.Sheets(1)

    ws1.Range(ws1.UsedRange.Address).Copy
    ws1.UsedRange.Cells.Offset(ws1.UsedRange.Rows.Count, 0).Select
    Selection.PasteSpecial xlPasteValues
End Sub

暫無
暫無

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

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