excel - 将多张工作表中的特定列复制到一张工作表中
问题描述
我想将所有列从“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
解决方案
.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
推荐阅读
- angular - 动态添加到 RXJS Observables 的队列中
- android - 如何将 MutableList<> 放入实体(房间,Kotlin)
- visual-studio-code - 是否可以以编程方式从活动栏中选择一个项目?
- c# - 在同一应用服务上反应 asp.net SPA 调用 API
- javascript - 将 CSV 中的数据保存在全局变量中(fast-csv/papaparse)
- node.js - 防止Nodejs sql select中的竞争条件 - 更新插入
- c++ - 以编程方式获取 Windows 安装程序错误消息
- c++ - 本机 webrtc - 编译错误 - ld.lld:错误:无法创建动态重定位 R_X86_64_32
- java - Java运行带有项目列表的switch case方法
- reactjs - cPanel 部署的 MERN 结构