EXCEL VBAについての質問です
同じ処理を名前の違う複数のファイルで行いたいと思っています
そこで、セルA2へファイル名の『○○.xls』○○部分だけをそれぞれのファイルに書き込んでおき、マクロは共通にしてファイル名をそれぞれのファイルから読み込んで実行したいと思っています。
良い方法を教えてください。
Workbooks("200809.csv").Activate
Sheets("200809").Select
Range("C3:C33").Copy
Windows("○○.xls").Activate'←ここをファイルにあわせて変更できる形にしたい
Sheets("報告書").Select
Range("G5:G35").Select
ActiveSheet.Paste
Windows("200809.csv").Activate
Range("K3:K33").Copy
Windows("○○.xls").Activate’←ここ
Sheets("報告書").Select
Range("I5:I35").Select
ActiveSheet.Paste
Workbooks("200809.csv").Close SaveChanges:=False
よろしくお願いします。
No.1
- 回答日時:
A2に○○と入っているのは、このマクロがあるBookのシート上ですね?
でしたら以下のようにすることで可能かと。
#Sheet1のA2に○○と入っていると仮定
Windows("○○.xls").Activate'
↓
Windows(ThisWorkbook.Sheets(1).Range("A2") & ".xls").Activate
動作の確認はしていません。あしからず。
mt2008さんありがとうございます。
試してみたところ今やろうとしていることはうまくいくようです。
すばやい回答ありがとうございました
もうひとつお聞きしたいことがあります。
おなじマクロで、今はファイル名が違う場合にも対応できるようになりました。
もし、ファイル名とシート名も違う場合にセルから取得する何か方法があるでしょうか。
マクロはこのファイル名がいろいろあるファイル内のシートにあります。
シートはひとつだけです。
できますでしょうか?
No.2
- 回答日時:
hiro_eleさんのオリジナルコードに付け加えるなら
Workbooks("200809.csv")のSheets("200809")のセルA1にファイル名があるとして
Windows(Range("A1").Value & ".xls").Activate
とすればよいです。
今回の例なら、Select、Activeteしなくても、"200809.csv"から"○○.xls"へ、コピペ可能です。
両ファイルとも開かれていることが前提になります。
例えば
With Workbooks("200809.csv").Sheets("200809")
.Range("C3:C33").Copy Workbooks(.Range("A1").Value & ".xls").Sheets("報告書").Range("G5:G35")
End With
といった感じです。
回答してくださりありがとうございます。
説明不足だったと思いますが、
Workbooks("200809.csv")のSheets("200809")のセルA1にファイル名があるのではなく、
Workbooks("○○.xls")のSheets("報告書")のセルA2に自分のファイル名「○○」があります。
そしてこのマクロも○○.xlsに記述しています。
よろしくお願いします
No.3ベストアンサー
- 回答日時:
No.1です。
追加質問の件ですが、もともとのソースの
Sheets("報告書").Select
の"報告書"を、セルから取得したいという様な意味でしょうか?
それならまったく同様に↓と、なります(Sheet1のA3にある場合)
Sheets(ThisWorkbook.Sheets(1).Range("A3")).Select
ThisWorkbook.Sheets(1).Range("A3") これが、
ThisWorkbook:このマクロがあるブックの、
Sheets(1):1枚目のシートの、
Range("A3"):A3セルの値
を、指しています。
No.4
- 回答日時:
実行しているマクロがあるブックはThisWorkbookで表せます。
ThisWorkbookを使えばファイル名をセルデータから取得する必要がなくなります。
With Workbooks("200809.csv").Sheets("200809")
.Range("C3:C33").Copy ThisWorkbook.Sheets("報告書").Range("G5:G35")
End With
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
- Excel(エクセル) csvファイルをExcel形式で読み込むには 2 2023/07/03 13:09
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/01/27 13:15
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
VBAでセル値からフォルダ名を取得するコードについて
Excel(エクセル)
-
excelで複数セル値を組合わせてファイル名にする方法
Excel(エクセル)
-
-
4
エクセル関数>参照ファイル名をセルから呼び出す
Excel(エクセル)
-
5
VBAでワークブックの名前を変数にして開かせる?
Excel(エクセル)
-
6
エクセル マクロ オートフィルの終点の指定について
Excel(エクセル)
-
7
エクセルマクロで不特定なファイル名を使用するには
Excel(エクセル)
-
8
別ファイルを開かず、INDIRECT関数を使用せずに、別ファイルのデータを求めたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
マクロの保存先、開いてるすべ...
-
【Excel VBA】マクロでExcel自...
-
エクセル関数>参照ファイル名...
-
複数のExcelブックを1つ...
-
excel VBA シート保存について...
-
エクセル;相対パスを絶対パスへ...
-
ファイルごとにセルの移動方向...
-
【Excel】特定セルの内容をテキ...
-
エクセルVBAで作成した別ブック...
-
【Excel】マクロの保存先について
-
Excel VBAで他のブックを選択...
-
マクロ 自動でパスワード及び指...
-
エクセルでメッセージボックス...
-
エクセルで読み取り専用の時に...
-
ブックを開いたとき自動的にバ...
-
エクセルで複数のファイル(ブッ...
-
エクセル 半角カナを全角に、...
-
エクセルマクロで(セルの削除...
-
名前の変わるブックをアクティ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
エクセル関数>参照ファイル名...
-
【Excel VBA】マクロでExcel自...
-
エクセル;相対パスを絶対パスへ...
-
マクロの保存先、開いてるすべ...
-
【Excel】マクロの保存先について
-
excelで直前に参照していたブッ...
-
EXcelのマクロで相対パスでファ...
-
エクセルVBAで作成した別ブック...
-
複数のExcelファイルの印刷設定...
-
エクセルのvbaにて thisworkboo...
-
EXCELのボタンによるマクロの登...
-
エクセルVBA 個人用マクロブッ...
-
EXCELマクロで、開いてはいるが...
-
EXCELブックが勝手に開いて困っ...
-
エクセルで未保存に対するメッ...
-
[フィルターオプションの設定]...
-
【Excel】特定セルの内容をテキ...
-
ファイル名変更後も、マクロを...
-
名前の変わるブックをアクティ...
おすすめ情報