これは私の現在のコードです。ループ中にコピーする異なる範囲を循環する
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
出力1のときに私が設定したさまざまな範囲でループしています。 "シート(" vbaTest ")。範囲(" 出力1 ")。コピー"
私が設定した3つの出力をループするようにしようとしています。助言がありますか?
あなたはその部分が異なる出力鳴っに変更したいです。本当ですか? 'Sheets(" vbaTest ")。Range(output.address).Copy'は動作しますか? – BruceWayne
はい。それはちょうど働いた。私は昨日VBAを始めました、そして、私は何時間も何時間もその1つのポイントに立ち往生しました。 ありがとうございました! – MRI
出力は_already_ a 'Range'です(ただし、 'Variant' _lens_)。 – user3598756