excel - VBA根据列标题名称复制列的UsedRange
问题描述
我正在尝试根据列名将数据从一个工作表复制到另一个工作表。在源工作表中,数据从 A1 开始。在目标工作表中,数据应粘贴在 A11 行而不是 A1 行。如果我使用 EntireColumn.Copy,则会收到有关源和目标复制区域不同的错误。我遇到了 UsedRange 属性,但我无法将其应用于我的场景
For Each columnName In allColumns
'call a function to get the column to copy
If columnToCopy > 0 Then
columnName.Offset(1, 0).EntireColumn.Copy Destination:=ws2.Cells(11, columnToCopy)
End If
Next
在上面的代码片段中,不想使用“EntireColumn”。我只想要有数据的列。变量 columnName 是例如“Person ID”
做这个的最好方式是什么?
谢谢。
解决方案
这将是一种典型的方法:
For Each ColumnName In allColumns
If columnToCopy > 0 Then
With ColumnName.Parent
.Range(ColumnName.Offset(1, 0), .Cells(.Rows.Count, ColumnName.Column).End(xlUp)).Copy _
Destination:=ws2.Cells(11, columnToCopy)
End With
End If
Next
假设allColumns
是单单元格范围/列标题的集合。
推荐阅读
- ffmpeg - 在FFMPEG中链接drawtext以覆盖
- ios - iOS 图像查看器或预览与使用集合视图(启用分页)的照片应用程序完全相同,行距最小
- android - 在我的服务许可中我错过了什么
- python - Python shell 在同一虚拟环境中同一台机器的不同位置上以不同的方式工作
- google-apps-script - 在同一个 Google 电子表格上确定活跃用户
- sql - 带有 WHERE 子句的 Hive 查询不起作用
- javascript - 微软翻译小工具英语到德语自动
- vue.js - 无法从异步函数结果中显示
- android - Google Mobile vision api:如何检测和跟踪超过 3 个 QR 码?
- python - 从元组中获取替代值