这是我目前的代码。骑行通过不同的范围复制while循环
Sub Loops()
Dim MyPath As String
Dim MyFileName As String
Dim output As Variant
Dim outputRange(1 To 3) As Range
Set outputRange(1) = Worksheets("vbaTest").Range("output1", Worksheets("vbaTest").Range("output1").End(xlDown))
Set outputRange(2) = Worksheets("vbaTest").Range("output2", Worksheets("vbaTest").Range("output2").End(xlDown))
Set outputRange(3) = Worksheets("vbaTest").Range("output3", Worksheets("vbaTest").Range("output3").End(xlDown))
For Each output In outputRange
'The path and file names:
MyPath = "C:\Users\x\Custom Office Templates"
MyFileName = "Test"
'Makes sure the path name ends with "\":
If Not Right(MyPath, 1) = "\" Then MyPath = MyPath & "\"
'Makes sure the filename ends with ".csv"
If Not Right(MyFileName, 4) = ".txt" Then MyFileName = MyFileName & ".txt"
'Copies the sheet to a new workbook:
Sheets("vbaTest").Range("**output1**").Copy
'The new workbook becomes Activeworkbook:
Workbooks.Add
ActiveSheet.Columns("A").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
With ActiveWorkbook
Application.DisplayAlerts = False
End With
'Brings back original sheet
Workbooks("vbaTest.csv").Activate
'Starts at the top of code
Next output
End Sub
我无法循环显示output1中设置的不同范围。 “表格(”vbaTest“)。范围(”output1“)。复制”
我试图让vba循环通过我设置的三个其他输出。有什么建议么?
你想要的那部分更改为不同的输出响了起来。 ES,对吗? 'Sheets(“vbaTest”)。Range(output.address).Copy'是否工作? – BruceWayne
是的。它只是工作。我昨天创办了VBA,并且一直坚持在这一点上几个小时。 非常感谢! – MRI
只是使用'output.Copy',因为输出是_already_一个'范围'(尽管通过'Variant' _lens_) – user3598756