【发布时间】:2016-08-31 04:27:43
【问题描述】:
我有一个超过 60 列的 Excel 电子表格。每列都包含来自 SharePoint 调查的数据。列标题是从 SharePoint 数据连接导入的实际调查问题。我在这里尝试做几件事。
首先,我想将每一列复制到一个新工作表中。(我需要这样做的原因是我可以将每一列中的数据添加到 PowerPivot 数据模型。PowerPivot 识别整个工作表作为一个表,所以它不会让我只选择“列 A”来添加到数据模型中,它会自动添加包含所有 60 列的整个表。
由于我不想在此之前先手动添加 60 张新工作表,因此我希望将代码复制到新创建的工作表中。 (工作表不需要命名,我可以手动命名,除非有人也有简单的方法!)
然后,我希望代码循环遍历执行复制并粘贴到新创建的工作表的每一列。
我在这里找到了一些相关主题的代码示例,但我对 VBA 太陌生,很难将它们放在一起。非常感谢大家的宝贵时间!
我尝试了以下方法,它确实将其复制过来,但我不确定如何添加新工作表并遍历列
Sub CopyColumnToNewSheet()
Dim lastRow As Long
lastRow = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Sheet2").Range("A1:A" & lastRow).Value = Sheets("Sheet1").Range("A1:A" & lastRow).Value
End Sub
【问题讨论】:
-
欢迎来到 S.O!你试过什么吗?如果是这样,请提供代码,查看tour 和how to ask。友情提示:StackOverflow 不是“我们为您编码”的服务提供商。 Introduction to VBA
-
@SgdvaSub CopyColumnToNewSheet() Dim lastRow As Long lastRow = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row Sheets("Sheet2")。 Range("A1:A" & lastRow).Value = Sheets("Sheet1").Range("A1:A" & lastRow).Value End Sub
标签: excel powerpivot vba