- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAでリストを仕分けしてファイル出力)
エクセルVBAでリストの仕分けとファイル出力
このQ&Aのポイント
- エクセルVBAを使用して、会社リストからHTMLファイルを作成する方法を教えてください。
- 地域ごとにファイルを分けて出力したいですが、どのように改良すればよいですか?
- また、G列のファイル名を20社ごとに変換する方法も教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
現在のコードだと列Gの値で1社ずつの別ファイルで出力される。 これを20社で1ファイルとしたい。 で合ってます? > If Range("G" & i).Text <> Range("G" & i - 1).Text Then と > If Range("G" & i).Text <> Range("G" & i + 1).Text Then の行で会社が変ったことを判断しています。 なのでここに手を加える。 ここでカウンタを数え、20以内ならファイルオープン・クローズ操作しない。 20の倍数(カウンタ Mod20 =0)ならファイルオープン・クローズする。 ファイル名は”tokyo” & trim(カウンタを20で割った商(整数)+1) クローズ時にはカウンタをリセットする。 Forループ終了時にカウンタの20の剰余を判断し、0でなければクローズ操作する。 (不要なのは会社数が20の倍数の時にループ内でクローズしてる場合)
その他の回答 (1)
- bin-chan
- ベストアンサー率33% (1403/4213)
回答No.2
HTML部分は自力で頑張って下さい。 カウンタはForループの添字[i]から1を引くことで求められます。 if の条件に AND (i - 1)Mod 20 ) = 0 を加えて下さい。 小生、タブレットの手書き入力なので「全文書いて」にはお応えしかねまする。
質問者
お礼
ありがとうございます。 早速チャレンジしてみます。
お礼
回答ありがとうございます。 当方、まったくの初心者なのです。 *カウンタを数え、20以内なら・・ *ファイルオープン・クローズ操作しない・・ *クローズ時にはカウンタをリセット・・ *Forループ終了時にカウンタの20の剰余を判断し・・ 何をどうすればよいのか分からない状態です。 お手上げ状態です。