粘贴我有两个工作簿。 Book1和Book2。从一个工作簿中提取数据,根据不同的列名,并在另一个工作簿
我想复制第一册的内容,对工作表Sheet1工作表Sheet 3 BOOK2。
book1的sheet1中的数据从第22行开始,我希望它们从sheet5的book2的第5行粘贴。
我在少数情况下,我想跳过列并粘贴选定的列。
例如:来自bk1,sht1,我想要将A列粘贴到Bk2的列B中,sht3; Bk1 sht1,列b粘贴在sht3的A列中,Bk1 sht3的列C在bk2 sht3的列I中。喜欢这个。
我试图用一个代码,我在哪里寻找列,而不是名字。
对于例如:而不是拆分(列A),我想分割(“项目名称”)并将其粘贴在我的工作表B列。
Sub ExtractBU()
Dim x As Workbook
Dim y As Workbook
Dim Val As Variant
Dim filename As String
Dim LastCell As Range
Dim LastRow As Long
CopyCol = Split("A,B,C,D,E,F,H,I,K,L,M,O,P", ",")
LR = Cells(Rows.Count, 1).End(xlUp).Row
LC = Cells(1, Columns.Count).End(xlToLeft).Column
LCell = ActiveWindow.RangeSelection.SpecialCells(xlCellTypeLastCell).Address
LCC = ActiveWindow.RangeSelection.SpecialCells(xlCellTypeLastCell).Column
lcr = ActiveWindow.RangeSelection.SpecialCells(xlCellTypeLastCell).Row
Set y = ThisWorkbook
Dim path1, Path2
path1 = ThisWorkbook.Path
Path2 = path1 & "\Downloads"
Set x = Workbooks.Open(filename:=Path2 & "\Report.xlsx")
For Count = 0 To UBound(CopyCol)
Set temp = Range(CopyCol(Count) & "22:" & CopyCol(Count) & lcr)
If Count = 0 Then
Set CopyRange = temp
Else
Set CopyRange = Union(CopyRange, temp)
End If
Next
CopyRange.Copy
y.Sheets("BU").Paste y.Sheets("BU").Range("A4")
Application.CutCopyMode = False
x.Close
End Sub
谁能告诉我我该怎么做?任何潜在客户都会有所帮助
你是什么意思的“列名”?是否有一排标题(我想是第一个)? – CMArg
此外,1)你openening一个文件('x')和关闭它不执行任何任务,2)当设置copyRange是作为联合您选择的全范围(列A到P,行22到LCR):使用数组和联合看起来很奇怪,3)你没有使用变量LR,LC,LCell和LCC:是有原因的吗? – CMArg
@CMArg列名称,我的意思是头文件。我没有使用它们。 – Jenny