1
VBAマクロを作成して、特定のフォルダ内のすべてのブックとシートを開き、コピーして対象シートに貼り付けます。VBAマクロを使用してフォルダ内のすべてのブックを操作する
マクロを実行すると、targetWorkbookにエラー91が表示されます。
私を助けてもらえますか?以下
を参照してくださいコード:私は私の解決策を見つけた
Sub importTransData() Dim directory As String, fileName As String, sheet As Worksheet, total As Integer
Application.ScreenUpdating = False Application.DisplayAlerts = False
Dim targetWorkbook As Workbook
targetWorkbook = ActiveWorkbook.Name
'Choose directory
directory = "C:\Users\midijk\Desktop\Testsource\" fileName = Dir(directory & "*.xl??")
Do While fileName <> ""
Workbooks.Open (directory & fileName)
For Each sheet In Workbooks(fileName).Worksheets Dim sourceSheet As Worksheet Dim sourceWorkbook As Workbook sourceSheet = ActiveSheet.Name sourceWorkbook = ActiveWorkbook.Name
'Select A2:F2
Range("A2:F2").Select
'Select everything below
Range(Selection, Selection.End(xlDown)).Select
'Copy Selection.Copy
'Select targetWorkbook
Workbooks(targetWorkbook).Activate
'select targetsheet
Sheets("Transactional Data").Select
'select A1 & go down
Range("A1").End(xlDown).Offset(1).Select
'Paste as values
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'go back to source workbook
Workbooks(sourceWorkbook).Activate
'go back to source sheet
Sheets(sourceSheet).Select
Next sheet
Workbooks(fileName).Close
fileName = Dir() Loop
Application.ScreenUpdating = True Application.DisplayAlerts = True
End Sub
"C:\ Users \ユーザーmidijk \デスクトップ\のtestsource \" - さもなければあなたが掲示されます - "\" で、 'Loop'文を移動してください "\" – 0m3r
そして、あなたが行方不明に入れた後行方不明「なぜこのコードを実行するとExcelが機能しなくなるのですか?」という質問があります(答えは「無限ループがあるため」です)。 (あなたのコードの終わり近くの 'fileName = Dir()'ステートメントの直後に 'Loop'が必要だと思われます) – YowE3K
助けてくれてありがとう!それに従ってメインテキストが更新されました。 –