我必须准备一个简短的Macro。我在一个工作簿中有多个工作表,并且编写了一个宏以从其他工作簿中导入范围,但是我希望我的宏可以遍历所有工作表。我阅读了很多有关它的内容,但我仍然认为我缺少有关vba的一些基本知识。有人可以帮我把这个宏放在一个循环中吗?
Sub AddHeader()
current = ActiveWorkbook.Name
Range("A1:C96").Select
Selection.Cut Destination:=Range("A55:C150")
Windows("MIP_Ordering_Header.xlsx").Activate
Range("A1:H54").Select
Selection.Copy
Windows(current).Activate
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveSheet.Paste
Cells(53, 1).Value2 = "Plate Name:" & ActiveSheet.Name
End Sub
我会做类似下面的事情。首先复制范围,然后在活动工作簿中的工作表中循环浏览:
子AddHeader()
Dim WS_Count As Integer
Dim I As Integer
'first get the data to copy
Windows("MIP_Ordering_Header.xlsx").Activate
Range("A1:H54").Select
Selection.Copy
ActiveWorkbook.Close
'get all the active sheets
WS_Count = ActiveWorkbook.Worksheets.Count
' Begin the loop.
For I = 1 To WS_Count
'refer to the curent workbook using the "I" variable
ActiveWorkbook.Worksheets(I).Range("A1").Select
'the rest of your code...
Next End Sub
编辑:如何复制粘贴变量:
Sub CopyPaste()
Dim src1 As Variant
Dim src2 As Variant
src1 = Sheets(1).Range("A1:A2").Value
src2 = Sheets(1).Range("A4:A5").Value
Sheets(1).Range("B1:B2").Value = src1
Sheets(1).Range("B4:B5").Value = src2 End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句