我想将A,B,H等某些列从一个工作表复制到另一个工作表,然后将此代码复制到模块中,但我得到了一个"运行时错误9"。
Sub CopyColumnToWorkbook()
Dim sourceColumn As Range, targetColumn As Range
Set sourceColumn = Workbooks("sheet1.xlsm").Worksheets(1).Columns("A")
Set targetColumn = Workbooks("sheet2.xlsm").Worksheets(1).Columns("A")
sourceColumn.Copy Destination:=targetColumn
End
我正在处理有55列和453行的数据。如何将备用列从一个工作表复制到另一个...示例
我只想要2010-2011一年的专栏。在我的数据中,2010年至2011年和2011 - 2012年分别安排为2010年4月至2011年4月的一栏和2011年4月的下一栏。下一栏是2010年至2011年5月,下一站是5月-2011-2012 ......等等。
答案 0 :(得分:0)
使用like语句,例如:
Sub Button1_Click()
Dim sh1 As Worksheet, sh2 As Worksheet
Dim col As Long, rng As Range, c As Range, cRng As Range, cRws As Long, col2 As Long
Set sh1 = Sheets("Sheet1")
Set sh2 = Sheets("Sheet2")
With sh1
col = .Cells(1, .Columns.Count).End(xlToLeft).Column
Set rng = .Range(.Cells(1, 1), .Cells(1, col))
For Each c In rng.Cells
If c Like "*2010-2011*" Then
cRws = .Cells(.Rows.Count, c.Column).End(xlUp).Row
Set cRng = .Range(.Cells(1, c.Column), .Cells(cRws, c.Column))
cRng.Copy sh2.Cells(1, sh2.Columns.Count).End(xlToLeft).Offset(, 1)
End If
Next c
End With
sh2.Columns("A:A").EntireColumn.Delete Shift:=xlToLeft
sh2.Cells.EntireColumn.AutoFit
End Sub