あるTxtファイルがあります。その中にcheckbox1, checkbox2, checkbox3, ....と横にコンマで区切りながら並んでいます。それぞれの"checkbox#," の下は数値が1000個以上縦に並んでいます。
そこで、図のようなUserForm(ユーザーフォーム)よりチェックボックスを作成しました。そのチェックボックスを選んだところだけ、「checkbox#」名とその下の数値だけを新たなExcelシートに抜き出すマクロを作ろうとしていますが、なかなかうまくできません。簡単な方法があれば教えていただけないでしょうか。どうぞよろしくお願いいたします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
No.2です。
fujillinさんの回答を見て、多分シートに取り込んでから弄る方が質問者さんには楽かもですね。
SELECT CASE の使い方もまだぎこちないようですし。
No.3
- 回答日時:
こんにちは
>あるTxtファイルがあります。
Txtとはいいながら、実態はcsvファイルってことでしょうか?
項目数がいくつあるのかわかりませんが、わざわざフォームを用いなくてもInputやあるいはどこかのセルに直接番号を入力しちゃった方が簡単そうに思えますが…
それは別として、csvをそのまま一旦別ブックに読み込んでおいて、必要な列だけコピペするとか、不要な列は削除するというような処理として考えれば、概略はマクロの記録でも作成出来るのではないでしょうか。
>Txtとはいいながら、実態はcsvファイルってことでしょうか?
Txtファイルです。CSVにも似てるのでここではどちらでも関係ないですね。
>それは別として、csvをそのまま一旦別ブックに読み込んでおいて、必要な列だけコピペするとか、不要な列>は削除するというような処理として考えれば、概略はマクロの記録でも作成出来るのではないでしょうか。
それはどう言うマクロにすればいいのでしょうか?
No.2
- 回答日時:
ユーザーフォーム(?)に何故同じ名前のコントロールの値が並んでいるのかはわかりませんが。
>その中にcheckbox1, checkbox2, checkbox3, ....と横にコンマで区切りながら並んでいます。
CSVファイルにしてADODBで接続しSQL文のSELECT句で、チェックの入ったチェックボックスのCaptionを並べまくるとか?
ただCaptionとフィールド名は大・小文字を統一しておくべきだと思いますよ。
No.1
- 回答日時:
テキストのチェックBOXの列位置が固定であれば、フォームのチェックボックスに列位置を対応させて、その列を抜き出せばよいと思います。
もし、テキストのチェックボックスが可変であればテキスト読み込みの際にフィールドをチェックして、該当のチェックボックスを抜き出せばよいと思いますが、ご質問の文章をフォームからでは具体的なマクロは書けません、すいません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- Visual Basic(VBA) シートを選択して、1つのPDFにしたいのですが。 5 2022/10/03 20:18
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/08/04 13:56
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) VBAマクロ 決まっていない行を選択して別シートへ貼付け 4 2023/02/16 16:08
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リストボックスの選択解除
-
VB.net(VB)で、フォームにExcel...
-
Access 無操作の場合、自動で閉...
-
Access2010で動的コントロール...
-
VBAにてメッセージボックスを最...
-
accessで2つ以上のフォームを起...
-
フォームを1つだけ閉じる方法は?
-
ExcelVBAでフォーム内でブック...
-
WithEvents変数について
-
PDFフォームに本日の日付を自動...
-
PDFフォーム内で日付計算したい...
-
アクセスVBA フォームのス...
-
アクセス フォームが存在する...
-
フォームの左上のアイコンだけ...
-
ユーザーフォーム上にアイコン...
-
ボタン押下でサブフォームのレ...
-
サブフォームの新規レコードに...
-
VB.NET 親フォームから子フォー...
-
ACCESS フォーム、クエリの最前...
-
ASP.NETとC#でWebフォームを呼...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAにてメッセージボックスを最...
-
VB.net(VB)で、フォームにExcel...
-
Accessでフォームから別フォー...
-
リストボックスの選択解除
-
Googleフォーム・複数人の申し...
-
ユーザーフォーム上にアイコン...
-
アクセスVBA フォームのス...
-
VBプログラムの終了
-
アクセス フォームが存在する...
-
サブフォームの新規レコードに...
-
サブフォームの行ごとにコンボ...
-
PDFフォームに本日の日付を自動...
-
accessで2つ以上のフォームを起...
-
メッセージボックスの背景色
-
PDFフォーム内で日付計算したい...
-
VBA リストボックスをダブルク...
-
Access 無操作の場合、自動で閉...
-
ディスプレイ解像度より大きな...
-
フォーム上の全てのコントロー...
-
ToolStripStatusLabelを固定し...
おすすめ情報
Do Until objStream.EOS
Pull = objStream.ReadText(adReadLine)
Dim iA As Integer
For iA = 1 To 15
Select Case Me.Controls("CheckBox" & iA).Value = True
S1 = Me.Controls("CheckBox" & iA).Caption
??????
Case InStr(Pull, S1) > 0
a = a + 1
AI = AI + 1
Sheets("Sheet1").Rows(AI + 1, 2) = Pull
End Select
Next
Loop
objStream.Close
Set objStream = Nothing
まだ途中ですが今こんな感じです。 もちろんNGですねwww