【问题标题】:Copy specific columns from multiple sheets into one sheet将多个工作表中的特定列复制到一张工作表中
【发布时间】:2018-12-23 05:54:05
【问题描述】:

我想将“B”中的所有列复制到工作表末尾到一个名为“combined”的新工作表中。 “组合”工作表中的标题表与每个工作表(“A”)相同。

Sub Combine()

   ' Sheets(1).Select
   ' Worksheets.Add ' add a sheet in first place
    Sheets(1).Name = "Combined"

    ' copy headings
    Sheets(2).Activate
    Range("A1").EntireColumn.Select
    Selection.Copy Destination:=Sheets(1).Range("A1")

    Dim ws As Worksheet
    Dim wsDest As Worksheet

    Set wsDest = Sheets("Combined")

    For Each ws In ActiveWorkbook.Sheets
        If ws.Name <> wsDest.Name Then
            ws.Range("B1", ws.Range("B1").End(xlToRight).End(xlDown)).Copy
            wsDest.Cells(1, Columns.Count).End(xlToLeft).Offset("B").PasteSpecial xlPasteValues
        End If
    Next ws

End Sub

【问题讨论】:

  • 你遇到了什么问题?

标签: excel vba


【解决方案1】:

.Offset("B") 不是有效语法

向右移动一列.Offset(, 1)

Dim ws As Worksheet
Dim wsDest As Worksheet

Set wsDest = Sheets("Combined")

For Each ws In ActiveWorkbook.Sheets
    If ws.Name <> wsDest.Name Then
        ws.Range("B1", ws.Range("B1").End(xlToRight).End(xlDown)).Copy
        wsDest.Cells(1, Columns.Count).End(xlToLeft).Offset(, 1).PasteSpecial xlPasteValues
    End If
Next ws

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-23
    • 2014-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多