• 締切済み

Excel VBAファイル取込時の行/列データ選択

あるTxtファイルがあります。その中にcheckbox1, checkbox2, checkbox3, ....と横にコンマで区切りながら並んでいます。それぞれの"checkbox#," の下は数値が1000個以上縦に並んでいます。 そこで、図のようなUserForm(ユーザーフォーム)よりチェックボックスを作成しました。そのチェックボックスを選んだところだけ、「checkbox#」名とその下の数値だけを新たなExcelシートに抜き出すマクロを作ろうとしていますが、なかなかうまくできません。簡単な方法があれば教えていただけないでしょうか。どうぞよろしくお願いいたします。

みんなの回答

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.1

1.採用するコンポーネント 提示されたサンプル画面を見るかぎり、 Tabシートが3枚あり、 Tabシートごとに、30個のチェックボックスがあります。 つまり、3*30=90に見えます。 他方、対象がtxtとのことですので、 データが複数シートになることはありませんね。 だとすると、 tabシート1枚に90個を配置できないので Tabシートを分けているということですか? VBAでcheckボックスを多量に使うと 性能に影響することが多々あります。 また、VBAの場合 数あるcheckボックスを配列変数で扱うことができません。 (それに近いものはできますが面倒です) 私だったら、 添付画像のようにListボックスを使いますね。 2.txtファイルの扱い 対象のtxtファイルをいったんエクセルシートに読み込み その後、条件に合った列たちを新たなシートに転記することを 目指していますか? それとも、 対象のtxtファイルを1行ごとに読んで 条件に合った列のデータを順番にシートに書き込んでいくことを 目指していますか? もし、後者なら、 txtファイルの文字コードがansi形式かどうか教えてください。 ファイルI/Oの仕方が変わってきます。 あるいは、txtファイルを読み込んだ後の VBAでの処理がわかればいいですか?