使用vba将新数据粘贴到电子表格后,如何删除多余的非空列?

时间:2019-05-09 14:03:55

标签: excel vba

我没有任何代码可在此处提供示例。

让我在这里解释我的问题,我想从复制后已经具有“ n”个列的旧电子表格中删除列,并粘贴新数据,其中新数据不超过“ n”个列中的新数据电子表格。

此外,如果新电子表格中的列数大于旧电子表格中的列数。列不得删除。

有人可以用vba代码帮助我吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

已更新:

Sub test()

    Dim ws1, ws2 As Worksheet
    Dim lastRow, lastCol As Integer

    Set ws1 = ActiveWorkbook.Worksheets("Sheet1")
    Set ws2 = ActiveWorkbook.Worksheets("Sheet2")

    lastRow = ws1.Cells(Rows.Count, 1).End(xlUp).Row
    lastCol = ws1.Cells(1, Columns.Count).End(xlToLeft).Column

    'Selecting data from Sheet1
    ws1.Cells(1, 1).Resize(lastRow, lastCol).Select
    Selection.Copy

    'Pasting data to Sheet2
    ws2.Range("A1").PasteSpecial Paste:=xlPasteValues

    'Deleting columns, keeping only the first 3 columns
    ws1.Cells(1, 4).Resize(lastRow, lastCol).EntireColumn.Delete

End Sub