A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
以下のようにしてください。
詳細条件が不明なので、以下のような仕様で作成しています。
1.フォルダの中のファイルは、拡張子が.xlsmのファイルを対象にする。
2.対象となるファイルに複数のシートがある場合、最も左側のシートの
B12のセルを対象とする。
3.値の格納先は、マクロ実行時に表示されているシートとする。
(マクロのあるファイルのシートに格納します)
Public Sub B12集計()
Dim FldrPicker As FileDialog
Dim fldPath As String
Dim fname As String
Dim ws As Worksheet
Dim wrow As Long: wrow = 1
Dim wb As Workbook
Set ws = ActiveSheet
'フォルダ選択ダイアログを表示
Set FldrPicker = Application.FileDialog(msoFileDialogFolderPicker)
With FldrPicker
.Title = "フォルダを選択してください。"
.AllowMultiSelect = False
If .Show <> -1 Then Exit Sub
fldPath = .SelectedItems(1) & "\"
End With
Set ws = ActiveSheet
fname = Dir(fldPath & "*.xlsx")
Do While (fname <> "")
Set wb = Workbooks.Open(fldPath & fname)
ws.Cells(wrow, 1).Value = wb.Worksheets(1).Range("B12").Value
wb.Close (False)
wrow = wrow + 1
fname = Dir()
Loop
MsgBox ("完了")
End Sub
No.2
- 回答日時:
すみません。
生成AIの回答をそのままコピペしたものです。
あと、マクロ実行のEXCELファイルは「~.xlsx」ではなくて「~.xlsm」なので、コードの「Active.xlsx」の部分は「Active.xlsm」に読み替えます。
ただ、テスト実行してみたところ、各々のB12セルの値を、1ファイルから10行分を転記してしまっています。
変数の加算がしくじっているようです。
生成AIでご自分でも条件設定してみると自動でコードを作成してくれるので、試してみてください。
No.1
- 回答日時:
Excel VBAを使用して、同じフォルダにある複数のExcelファイル(01.xls,02.xls,03.xls,04.xls,05.xls,06.xls,07.xls,08.xls,09.xls,10.xls)の各sheet1のB12セルの値をActive.xlsxのSheet1のセルのA1~A10に順次、転記する方法を以下に示します。
Sub CopyData()
Dim myPath As String, myFile As String, myExtension As String
Dim FldrPicker As FileDialog
Dim x As Workbook, y As Workbook
Dim ws As Worksheet
Dim i As Integer, j As Integer
'フォルダ選択ダイアログを表示
Set FldrPicker = Application.FileDialog(msoFileDialogFolderPicker)
With FldrPicker
.Title = "フォルダを選択してください。"
.AllowMultiSelect = False
If .Show <> -1 Then Exit Sub
myPath = .SelectedItems(1) & "\"
End With
'Active.xlsxを開く
Set y = Workbooks.Open(myPath & "Active.xlsx")
'各Excelファイルを開いてデータをコピーする
myExtension = "*.xls*"
myFile = Dir(myPath & myExtension)
Do While myFile <> ""
Set x = Workbooks.Open(myPath & myFile)
For Each ws In x.Worksheets
For i = 1 To 10
j = j + 1
y.Sheets(1).Cells(j, 1) = ws.Range("B12").Value
Next i
Next ws
x.Close False
myFile = Dir
Loop
'Active.xlsxを保存して閉じる
y.Save
y.Close
MsgBox "完了しました。"
End Sub
上記のコードをExcel VBAエディタに貼り付け、実行することで、同じフォルダにある複数のExcelファイルの各sheet1のB12セルの値をActive.xlsxのSheet1のセルのA1~A10に順次、転記することができます。フォルダ選択ダイアログが表示されるので、対象のフォルダを選択してください。また、Active.xlsxは事前に作成しておく必要があります。
(by 生成AI)
ご回答ありがとうございます。
コードを実行した結果、実行時エラー 1004
アプリケーション定義またはオブジェクト定義エラーとなりました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA CSV取り込みについて 3 2021/12/30 22:40
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Excel(エクセル) Excel VBAについて【図形を組み合わせて作成した、料金別納表示の削除の仕方】 5 2023/11/16 01:27
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/03/28 14:52
- Visual Basic(VBA) シート名をフォルダ名に変更 1 2021/12/01 15:59
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Excel(エクセル) 【VBA】PDF出力に任意のファイル名前を付ける方法 3 2023/07/21 10:55
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
VBA 二つのブックをうまく扱えないでいます
Visual Basic(VBA)
-
ご教授お願いします。#NUM!が解消されません。
Visual Basic(VBA)
-
VBAのコードを教えてください
Visual Basic(VBA)
-
-
4
A列B列どちらにもあるのを抽出する
Visual Basic(VBA)
-
5
VBA コード
Visual Basic(VBA)
-
6
excelのVBAについて、以下のコードに追加をお願いいたします。
Visual Basic(VBA)
-
7
VBEを開くのにコマンド名が「Visual Basic」な理由はなぜ?
Visual Basic(VBA)
-
8
Excel VBAでの数値の計算についておしえてください
Visual Basic(VBA)
-
9
Excel VBAマクロをマスターするのに、どれ位時間掛かりますか?
Visual Basic(VBA)
-
10
ExcelのVBAのことで質問です。 以下のコードを入れ、ボタンを押せば作動させると写真のように画面
Visual Basic(VBA)
-
11
Excelセルに入力された文字の色を変える方法を教えてください
Visual Basic(VBA)
-
12
ゆっくりムービーメーカーのエクセルVBAマクロがうごかない
Visual Basic(VBA)
-
13
Cellsのコードが打てません
Visual Basic(VBA)
-
14
コードを直していただきたいです。 以下のコードはネットで拾ったものをほんの少しいじった物なのですが、
Visual Basic(VBA)
-
15
Excel VBA マクロ シート名を変えずにA列にあるセル名の名前でファイルの分割をしたいです
Visual Basic(VBA)
-
16
マクロVBAについてご教授いただけましたらと存じます。
Visual Basic(VBA)
-
17
VBAを教えていただきたいです。 添付のような「data sheet」があります。 他に、「集計 s
Visual Basic(VBA)
-
18
エクセルのマクロのコードについて
Visual Basic(VBA)
-
19
ExcelのVBAコードを教えて頂けますでしょうか。 例シート2つがあります。 シート1は元データ
Visual Basic(VBA)
-
20
特定文字を入ってるCSVの特定の列を特定のexcelシートに取り込みたいです
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
windowsでテキストファイルの各...
-
同一フォルダ内の別ブックから...
-
集めたシートのシート名を変更...
-
VBA フォルダ名に特定の文字を...
-
excelマクロ 冒頭3文字が一致す...
-
ファイルとフォルダのどちらも...
-
パス名に2バイト文字(マルチバ...
-
ExcelのVBA:フォルダ内のファイ...
-
PHPで、指定フォルダ(サブフォ...
-
フォルダ内のファイルの作成日...
-
Excelのハイパーリンクについて...
-
Dreamweaverでイメージを挿入す...
-
VBA 最新のフォルダ取得
-
VBScriptで作るファイル移動プ...
-
C++のコンソールアプリケーショ...
-
VBAで行うフォルダ・ファイル検...
-
Let’s Encryptでwebroot設定な...
-
exclude xcopy 除外フォルダ指...
-
ツリービューを使って、エクス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
windowsでテキストファイルの各...
-
VBA 最新のフォルダ取得
-
ファイル名と同名のフォルダを...
-
VBA フォルダ名に特定の文字を...
-
デスクトップの画像をhtmlに表...
-
Excelのハイパーリンクについて...
-
フォルダ内のPDFファイル名を変...
-
Excelで指定したフォルダに保存...
-
会社のネットワーク上のファイ...
-
【マクロ】ファイル名の日付に...
-
保存先のフォルダ名を指定した...
-
多量のファイルをフォルダに自...
-
パス名に2バイト文字(マルチバ...
-
ディレクトリ名変更してコピー...
-
Access VBA で フォルダ権限...
-
C ファイル出力で、フォルダが...
-
サーバ内のフォルダ名と各フォ...
-
フォルダにリンクを貼りたい
-
vbsで選択ダイアログを表示した...
おすすめ情報