Vba 在excel中从所需位置选择列
我有两本工作簿,我想把一列从一个excel复制到另一个excel。 在该列中,我想从标题下方到底部选择数据 因为,我的头USER位于B14的某个位置,所以我使用.Find(What:=“USER”)查找头并将其存储到aCell中 但当我将其复制到另一个excel中时,它也会选择B1到B13,这不是必需的 我只想选择从标题到底部(B14到B80)的数据,并将其粘贴到另一个excel中,如A1到A66Vba 在excel中从所需位置选择列,vba,excel,Vba,Excel,我有两本工作簿,我想把一列从一个excel复制到另一个excel。 在该列中,我想从标题下方到底部选择数据 因为,我的头USER位于B14的某个位置,所以我使用.Find(What:=“USER”)查找头并将其存储到aCell中 但当我将其复制到另一个excel中时,它也会选择B1到B13,这不是必需的 我只想选择从标题到底部(B14到B80)的数据,并将其粘贴到另一个excel中,如A1到A66 Dim x As Workbook Dim y As Workbook Dim ws As W
Dim x As Workbook
Dim y As Workbook
Dim ws As Worksheet
Set x = Workbooks.Open("C:\file1.xls")
Dim aCell As Range
Set aCell = x.Sheets("file").Range("B1:B1000").Find(What:="User", LookIn:=xlValues,LookAt:=xlWhole, _
MatchCase:=False, SearchFormat:=False)
Set y = Workbooks.Open("C:\file2.xls)
aCell.EntireColumn.Copy
y.Sheets("abc").Range("A1:A1000").PasteSpecial
End Sub
如果您不想复制
entireclumn
,只需复制您感兴趣的范围:
Dim x As Workbook
Dim y As Workbook
Dim ws As Worksheet
Dim aCell As Range
Set x = Workbooks.Open("C:\file1.xls")
With x.Sheets("file")
Set aCell = .Range("B1:B1000").Find(What:="User", _
LookIn:=xlValues, _
LookAt:=xlWhole, _
MatchCase:=False, _
SearchFormat:=False)
'Check that header exists
If aCell Is Nothing Then Exit Sub
Set y = Workbooks.Open("C:\file2.xls")
.Range(aCell, .Cells(.Rows.Count, aCell.Column).End(xlUp)).Copy _
y.Sheets("abc").Range("A1")
End With
与其复制整个列(当然包括第1行到第13行),为什么不直接复制
x.Sheets(“file”).Range(aCell,x.Sheets(“file”).Cells(x.Sheets(“file”).rows.Count,aCell.column).End(xlUp))
?为了更容易操作,您还应该将sht设置为工作表的颜色和设置sht=x.Sheets(“file”)
。