- ベストアンサー
エクセルでこんなマクロ
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
閉じるブックの名前の条件がわかりませんが、「すべて同じExcel上で 開いているブックの中で、頭に「コピー」のついたものを閉じる」、と 仮定しまして、ブックCの標準モジュールに、 Sub Test() Dim i Application.ScreenUpdating = False For i = 1 To Windows.Count Windows(Windows.Count).Activate If Left(ActiveWorkbook.Name, 3) = "コピー" Then ActiveWorkbook.Close False '※ End If Next Application.ScreenUpdating = True End Sub このままですと、データを書き換えたブックも保存しないで閉じます。 ※の行の "False" を削除すると、書き換え後保存していないブックを 閉じる際に、保存するかどうかを問うメッセージが出ます。
その他の回答 (2)
- misatoanna
- ベストアンサー率58% (528/896)
> ファイル名の頭にコピーと付くファイル以外 If Left(Workbooks(Workbooks.Count).Name, 3) = "コピー" Then ↓ If Left(Workbooks(Workbooks.Count).Name, 3) <> "コピー" Then (^.^) 不等号は "<" と ">" を組み合わせた "<>" です。
- misatoanna
- ベストアンサー率58% (528/896)
#1の訂正(?) わざわざウインドウの数で処理しなくてもよいですね。 Sub Test() Dim i Application.ScreenUpdating = False For i = 1 To Workbooks.Count Workbooks(Workbooks.Count).Activate If Left(Workbooks(Workbooks.Count).Name, 3) = "コピー" Then Workbooks(Workbooks.Count).Close False End If Next Application.ScreenUpdating = True End Sub
お礼
お早い回答ありがとうございました。 非常に助かりました。 ちゃんと動きました。 ちなみに、もしよろしかったらで良いのですが、 ファイル名の頭にコピーと付くファイル以外を閉じる ということも出来るのでしょうか。
関連するQ&A
- エクセルマクロ 異なるファイル名でも実行してくれるマクロ
マクロ初心者です。よろしくお願いします。 ファイル名はすべて例えです。 「A」エクセルファイルを 「Z」というファイルに貼り付けるマクロを作りました。 そのマクロで「B」ファイルからも「C」ファイルからも 「Z」ファイルにコピーをしなくてはいけないのですが VBAには「A」で記録されているため 「B」と「C」にはそのマクロが使えません・・・。 VBAをどのようにデバックすればいいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセルのマクロについて質問です。
エクセル初心者です。 マクロを使い表を展開したいのですがどなたか是非ご教授ください。 A B 1 1,2,3 abc という表を、 A B 1 1 abc 2 2 abc 3 3 abc という表に出来るのでしょうか?? カンマの区切りで下のセルに改行していきB1の文字列をコピーしていきたいのです。 色んな検索をしてみたのですがエクセル初心者の私には困難でした。 よろしくお願い致します。
- ベストアンサー
- その他MS Office製品
- エクセル マクロ コピー 貼り付けについて教えて!
お世話になります。 エクセルのマクロを利用し下記の 方法はできますでしょうか。 条件:1つのフォルダ内に2つのエクセルデータがあります。 (1)「リスト」名のエクセルデータ (2)「送付状」 (1)「リスト」名のエクセルには下記の内容があります。 A B 1 山田 03-0000-0000 2 佐藤 04-0000-0000 3 樋口 05-0000-0000 4 加藤 06-0000-0000 「リスト」名のエクセルには事前にマクロを組みます。 (ここを教えてください!) マクロを起動すると (2)「送付状」のエクセルデータごとコピーし ファイル名を「リスト」のB1とします。 例:ファイル名/03-0000-0000 03-0000-0000のファイルを開き A3に「リスト」のA1をコピーし貼り付けます。 C10には「リスト」B1の電話番号をコピーし貼り付けます。 これでファイル名03-0000-0000を保存します。 次に同じ動作を繰り返しますが 新しく作成したエクセルファイル(貼り付け先) のコピー元((1)リスト)はA1またはB1 から次行のA2またはB2と行を変えてコピーし 貼り付け場所は変わらずA3・C10とします。 (1)「リスト」A1欄が空欄になるまでこの動作を つづけ、終わったら「完了」表示がされ作業終了にしたいです。 完成形 (1)「リスト」に100件の名前があった場合 フォルダ内には (1)「リスト」、(2)送付状 その他100件の電話番号名のエクセルファイル が存在する。 お手数をおかけいたいます。 宜しくお願いいたします。
- ベストアンサー
- Excel(エクセル)
- 別のファイルを閉じるマクロ
マクロの素人なのですが、 例えばAとBというエクセルファイルを開いていて、 Aのファイル上で、Bを閉じるというマクロを作りたいです。 ただし、Bのファイル名は多数あります。 こんなものは出来ますでしょうか。よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- エクセル【マクロ】について
初心者です。 エクセルでシート1のA1からA10まで決めた文字(abc)という文字を検索して、検索文字があるセルの1行をコピーしてシート2のA1から下へ貼り付けるというマクロ(VBA)を作成したいと考えています。 詳しい方、よろしくお願いします。
- 締切済み
- その他([技術者向] コンピューター)
- エクセルのマクロでこういったことはできますでしょうか。
顧客管理で下記のようなことがしたいと思っています。 マクロ初心者なのですが、こういったことは可能でしょうか。 (1)事前に、顧客管理のデータ入力用ファイル(以下データファイル)、A、B、C、D、Eという定型ファイルを作成しておく。A~Eには、全て複数のシートが入っており、シート1にデータファイルに入力した情報が飛ぶようにしたい。 (2)データファイルに顧客情報「あ」を入力し、シート上に作成しておいたAという名のマクロボタンを押すと、Aのファイルのシート1に「あ」という情報が飛び、さらに、Aファイルは原本なので、“「あ」A”という名前の新しいファイルを作成できるようにしたい。 (3)同じように、データファイルに顧客情報「い」を入力して、今度はBというボタンを押したら、Bファイルのシート1に「い」という情報が飛び、“「い」B”という名前のファイルが新しく作成できるようにしたい。 非常にわかりにくい説明で申し訳ないのですが、これから自分でマクロやVBEを勉強しようと思っており、実際こういったことが可能なのかどうか、ご教示頂けますと幸甚です。何卒よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- エクセル マクロ
A列にエリア、B,C,Dにそのエリアの情報が格納されているエクセルファイルがあります。 エクセルマクロで、A列に入っているエリア(たとえば、東北、関東、関西、四国、九州など)ごとに、そのエリアの行をコピーして新規Bookを作成するというコードを書きたいのですが、どなたかご存知の方ご教授ください。
- ベストアンサー
- Excel(エクセル)
- エクセル・マクロを利用しセルをコピー 貼り付け
お世話になります。 エクセルを利用して下記の作業を行いたいのですが可能でしょうか。 条件:1つのフォルダ内に下記のエクセルファイルが2つ存在します。 (1)リスト表 (2)送付状 やりたいこと: (1)のリスト内容 A B 1名前 電話番号 2山田 03-0000-0000 3佐藤 04-0000-0000 4工藤 05-0000-0000 リストにはマクロを組んでおきます(←ここを知りたいです) リストのマクロを作動させると フォルダ内にある送付状ファイルをコピーして新規エクセルファイルを作成します。 ファイル名はリストのB2にあります電話番号を名前として置き換えます。 次にリストにありますA2の名前をコピーし 送付状のB4へ貼り付け リストB2の電話番号をコピーし 送付状のC10へ貼り付け 保存 次に上記と同じ動作を継続的に行いますが 次のファイル名はB3の電話番号 名前のコピー先はA3に変更 貼り付け先は新規ファイルのB4 電話番号のコピー先はB3に変更 貼り付け先は新規ファイルのC10 保存 これをリストのA列が空欄になるまで繰り返します。 作業が完了した場合。「完了」表示し終了としたいです。 たとえ100名前のリスト表を作業にかけた場合 完了後はフォルダ内には(1)リスト表 (2)送付状 マクロで作成したファイル100個のエクセルが 存在することになります。 お手数をおかけいたします。 何卒宜しくお願いいたします。
- 締切済み
- その他(生活・暮らし)
- エクセルのマクロで別ファイル(エクセル)のマクロを実行させるには?
エクセルにおいてマクロを組んでいます. 1.実行させたいマクロAが組んであるファイル(Aファイルとします)が多数あります。またマクロAはモジュール内(Module1)に作っております。 2.1のマクロAを別のエクセルファイル(Bファイルとします)のマクロBで実行させたい. 上記のようなことを行いたいのですが可能でしょうか?さらに言えば、マクロBによってマクロAのプロシージャを指定して実行させることは出来るでしょうか? 現在は、マクロBによってマクロAを組んであるAファイルを開き、Aファイルのマクロの中にファイルを開いたときにマクロAを実行させる(イベントドリブン)ようにしています. 直接、マクロBでAファイルのマクロAを動かせるようになればマクロAにイベントドリブンなコードを組む手間がなくなるので、なんとかそのような事が出来ないでしょうか? どうか、詳しい方ご教授ください。 よろしくお願いいたします。。。
- ベストアンサー
- その他MS Office製品
お礼
ありがとうございました。 大変助かりました。 また何度もすみませんでした。 勉強になりました。 ありがとうございました。