
お世話になります。
ある転記ツールで,はじめに使用するファイルをセッティングする部分で
タイトルのようなソースコード★がありました。なぜここだけcountなのでしょうか。「最後に作成されたブックを変数に格納してる」のだそうですが、
他はpath(Pt)で開いているのに、ここだけなぜそうしているのかがわかりません。ブックはいずれもひとつづつしかありません。
haji: 読み込むxlsx huta:読み込むcsv saigo:書き出すxlsx
Set wb = ThisWorkbook
Set hajiWb = Workbooks.Open(dtPt & hajiFn)
Set hajiWs = hajiWb.Worksheets(1)
Workbooks.OpenText dtPt & hutaFn, 932, , , , , , , True
Set hutaWb = Workbooks(Workbooks.Count) ★
Set hutaWs = hutaWb.Worksheets(1)
Set saigoWb = Workbooks.Open(saigoPt & saigoFn)
Set saigoWs = saigoWb.Worksheets(1)

No.1ベストアンサー
- 回答日時:
Workbooks.Count ← 開かれているブックの数
Workbooks(1) ← 最初に開かれたブック
Workbooks(n) ← n番目に開かれたブック
Workbooks(開かれているブックの数) ← 最後に開かれたブック
Set hutaWb = Workbooks(Workbooks.Count)
↑
最後に開かれたブックへの参照をオブジェクト変数に入れている。
開かれた直後のブックはアクティブなので、
Set hutaWb = ActiveWorkbook
でもよい。
>ブックはいずれもひとつづつしかありません。
プログラムは状況が変わっても応用が利くように、汎用的に書くものです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
Excel マクロ ファイルと同じシ...
-
別ブックをダイアログボックス...
-
VBA コードを実行すると画面が...
-
[Excel]ADODBでNull変換されて...
-
エクセルVBAが途中で止まります
-
VBAで別のブックにシートをコピ...
-
【Excel VBA】書き込み先ブック...
-
VBで配列の差分を取りたいのですが
-
フォルダ内の全てのファイルに...
-
ユーザーフォームの切り替えに...
-
Excelマクロ 該当する値の行番...
-
新しく開いたブックをアクティ...
-
オブジェクトは、このプロパテ...
-
Excel2007VBAファイルの表示に...
-
【VBA】全シートの計算式を全て...
-
複数シート名とブック名が一致...
-
VBA 別ブックからコピペしたい...
-
マクロで最終行を取得したい
-
Book間の移動
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のエクセルファイルとシー...
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
VBA 別ブックからコピペしたい...
-
エクセルVBAが途中で止まります
-
ワイルドカード「*」を使うとう...
-
VBAで別のブックにシートをコピ...
-
VBA コードを実行すると画面が...
-
VBAで別ブックのシートを指定し...
-
【ExcelVBA】zip圧縮されたCSV...
-
【Excel VBA】書き込み先ブック...
-
2つ目のコンボボックスが動作...
-
[Excel]ADODBでNull変換されて...
-
Excelマクロ 該当する値の行番...
-
VBA 実行時エラー 2147024893
-
Excelのマクロコードについて教...
-
Excel にて、 リストボックスの...
-
【ExcelVBA】インデックスが有...
-
VBA アプリケーション定義また...
-
【Excel VBA】表の列の値毎に分...
おすすめ情報