エクセルのデータの必要な列を別のブックに入っているフォーマットにどんどん追加していけるようなマクロを作りたいと思っています。
マクロの自動記録を使ってみたのですが、特定のファイル名が入っているので、使えません。
中を見てみると
Windows("A.xls").Activate
Columns("b:b").select
Selection.copy
workbooks.open Filename:="B.xls"
Windows("B.xls").Activate
Range("D9").select
Windows("A.xls").Activate
Application.CutCopyMode = False
Range("b:b").select
Selection.copy
Windows("B.xls").Activate
Selection.Pastespecial Paste:=xlValues,Operation:=xlNone,SkipBlanks:=False,Transpose:=False
.
.
.
となっています。
このファイルAとなっている部分を、どのファイルでも実行できるようにしたいです。
後、ファイルBに貼り付けるときに一番最終行に追加していくにはどのような構文を足せばいいか教えていただきたいです。
初心者で質問の意図が伝わりにくかったらすみません..
よろしくお願いします。
No.2
- 回答日時:
こんばんは。
ファイルは、GetOpenFilename で、MultiSelect で複数のファイルを選べても、その後の場所がまちまちのようなので、シートを選んだりとか、セルを選んだりとか、そういうことを対話式にするには、ユーザーフォームで、Modal モードを False にして使うぐらいしかありません。
InputBox メソッドでも、完全に、InputBox と切り離されてはいないので、使いづらいでしょう。
途中で、エラーになると、せっかく選んだブック名が、なくなってしまいます。
せめて、シートとセルの範囲ぐらいは、キメウチできないと、自動化には程遠いです。
記録マクロのレベルですと、少し、荷が重いかもしれませんね
No.1ベストアンサー
- 回答日時:
選択されているセルの列をB.XLSの最終列の右にコピーするマクロです。
ブックのパスと、シート名は修正して下さい。Sub Macro1()
Dim wb As Workbook, psw As Boolean
Selection.EntireColumn.Copy
For Each wb In Workbooks
If wb.Name = "B.xls" Then
psw = True
Exit For
End If
Next wb
If Not psw Then
Workbooks.Open Filename:="z:\B.xls" 'パス名を修正
End If
Windows("B.xls").Activate
Worksheets("Sheet1").Activate 'シート名を修正
ActiveSheet.Range("IV1").End(xlToLeft).Offset(0, 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
ペーストするシートに全く何も入力されていないときでも2列目に貼りつけます。どうしても1列目に貼りつけたいなら.End(xlToLeft)で取得したセルの値で条件分岐するなどして下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) エクセルVBA Workbook変数に変数を使ったファイル名を格納したい 5 2023/06/13 14:46
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
【Excel VBA】ファイル名が一定でないファイルの指定方法
Excel(エクセル)
-
エクセルマクロで不特定なファイル名を使用するには
Excel(エクセル)
-
エクセルマクロ 異なるファイル名でも実行してくれるマクロ
Excel(エクセル)
-
-
4
毎回変わる範囲を検索し、コピペするマクロについてご教示ください。
Excel(エクセル)
-
5
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
【前回の続き続きです、ご教示...
-
エクセルのマクロについて教え...
-
VBA 別ブックからコピペしたい...
-
ExcelのVBAです。フォルダ内の...
-
【前回の続きです、ご教示くだ...
-
VBS Bookを閉じるコード
-
エクセルのマクロについて教え...
-
ADOで複数のBookから抽出
-
【Excel VBA】書き込み先ブック...
-
【マクロ】違うフォルダにある...
-
Excel VBA 保存時にフォルダを...
-
ユーザーフォームの切り替えに...
-
別ブックをダイアログボックス...
-
フォルダ内の全てのファイルに...
-
Excelマクロ 該当する値の行番...
-
【ExcelVBA】インデックスが有...
-
マクロVBA別Excelブックにデー...
-
エクセルマクロで、他ブックか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
別ブックをダイアログボックス...
-
ワイルドカード「*」を使うとう...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
VBS Bookを閉じるコード
-
【ExcelVBA】インデックスが有...
-
VBA コードを実行すると画面が...
-
【ExcelVBA】zip圧縮されたCSV...
-
vbaでvbaProjectのパスワード解...
-
VBAで別ブックのシートを指定し...
-
ExcelのVBAです。フォルダ内の...
-
vbaで他のブックに転記したい。...
-
フォルダ内の全てのファイルに...
-
VBAで複数のブックを開かずに処...
-
VBSでExcelのオープン確認
-
VBA 実行時エラー 2147024893
-
【Excel VBA】書き込み先ブック...
-
VBA シート名が一致した場合の...
おすすめ情報