【发布时间】:2013-08-18 23:52:08
【问题描述】:
我正在尝试创建一个宏来查看工作簿中的所有工作表并找到名为“ID”的列。大多数工作表中都会有一个“ID”列,但标题不一定在第 1 行。一旦找到该列,我想将该列中的所有数据复制到新工作表中。将数据复制到新工作表时,我希望将数据全部复制到新工作表的 A 列中,因此希望将数据复制到下一个空白单元格中。到目前为止,这就是我所得到的
Sub Test()
Dim ws As Worksheet
Dim sString As String
Dim sCell As Variant
Dim cfind As Range
Dim j As Integer
For Each ws In Worksheets
If ws.Name = "Archive" Then GoTo nextws
ws.Activate
j = ActiveSheet.Index
'MsgBox j
On Error Resume Next
Set cfind = Cells.Find(what:="ID", lookat:=xlWhole)
If Not cfind Is Nothing Then
cfind.EntireColumn.Copy
Worksheets("Archive").Range("A1").Offset(0, j - 1).PasteSpecial
End If
nextws:
Next ws
End Sub
我似乎无法正确粘贴数据。目前它只是将其粘贴到下一个可用列中。
【问题讨论】:
-
尝试先选择A1,Range("A1").Select
-
如果您在 Stack Overflow 上提出其他问题,请提供比“VBA Excel 帮助!”更具描述性的标题。