重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

お世話になります。
ある転記ツールで,はじめに使用するファイルをセッティングする部分で
タイトルのようなソースコード★がありました。なぜここだけ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)

A 回答 (1件)

Workbooks.Count ← 開かれているブックの数


Workbooks(1) ← 最初に開かれたブック
Workbooks(n) ← n番目に開かれたブック
Workbooks(開かれているブックの数) ← 最後に開かれたブック
Set hutaWb = Workbooks(Workbooks.Count)

最後に開かれたブックへの参照をオブジェクト変数に入れている。

開かれた直後のブックはアクティブなので、
Set hutaWb = ActiveWorkbook
でもよい。

>ブックはいずれもひとつづつしかありません。
プログラムは状況が変わっても応用が利くように、汎用的に書くものです。
    • good
    • 2
この回答へのお礼

助かりました

なるほど!!!ありがとうございました。よくわかりました!!

お礼日時:2022/03/18 10:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!