初めまして。表題の件についてアドバイスお願い致します。
(前置き)6年前までIT業界でPG(C++/VC/Java)・SEを十数年したが、色々と挫折をし現在は他業界。
そんな経験もあってか、現上司からExcelVBAを使って、あんな事、こんな事、簡単に出来るよね、、、『VBAは未経験です』とは言ったものの、少しは協力するハメに。(/前置き)
前置きが長くなりました。
本題です。
[前提]
Excel2010のVBAを利用
Form上でのActiveXコントロール使用
ComboBox→以下、Cmbと称します
参照Sheet→以下、M_PLAN
M_PLANの内容は、
[A列][B列][C列]
1行 プランCD,プラン名,休止FLG ←見出し
2行 1001,プランA,0
3行 1002,プランB,1
4行 1003,プランC,0
5行 1004,プランD,1
行数は可変、列数は固定
[実現したいこと]
C列=0 の条件に一致するB列を取得したい
[現状]
条件無しの状態で取得済み
Dim w_endline,w_nowline As Integer
w_endline=Worksheets(M_PLAN).Cells(Rows.Count,1).End(xlUp).Row
For w_nowline=2 To w_endline
Cmb.AddItem Worksheets(M_PLAN).Range("B" & w_nowline).Value
Next w_nowline
まだ技術が伴ってないですが、
頭のなかでは、一旦、配列に格納してから
配列要素と比較してCmbに入れるのか、
それとも、ダイレクトに判定しながCmbに入れた方がいいものか(ケースバイケースなのかも...)
今は、単一条件で質問してますが、実際は複数条件です。
前置きが長いわりに初歩的な質問で申し訳ありませんがアドバイスお願い致します。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
ActiveXのコンボボックス(Cmb)がM_PLANシート上にあると仮定して記述しました。
Dimで2つの変数をカンマ区切りで宣言する場合、As以降を省略するとVariant型になります。
何行あるか不定なので数値型はIntegerよりLongのほうがいいです。
ワークシート名はダブルクォーテーションで囲ってください。
Sub test()
Dim w_endline As Long, w_nowline As Long
With Worksheets("M_PLAN")
w_endline = .Cells(Rows.Count, 1).End(xlUp).Row
For w_nowline = 2 To w_endline
'3列目の値が0の場合
If .Cells(w_nowline, 3) = 0 Then
'.cmb.AddItemのところですが、別のシートにコンボボックスがある場合は、Worksheets("シート名").cmb.AddItemにしてください。
'コンボボックスの選択肢に追加
.cmb.AddItem .Range("B" & w_nowline).Value
End If
Next w_nowline
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel の複数シートの列幅を同...
-
文字の色も参照 VLOOKUP
-
エクセルの保護で、列の表示や...
-
VBAで繰り返しコピーしながら下...
-
エクセルの列の限界は255列以上...
-
ExcelのVlookup関数の制限について
-
Excelでの並べ替えを全シートま...
-
SUMPRODUCTにて別シートのデー...
-
Excelに自動で行の増減をしたい...
-
Excel VBA ピボットテーブルに...
-
エクセルで、チェックボックス...
-
エクセル マクロ 標準モジュー...
-
エクセル機能 オートフィルター
-
エクセルVBAでエラーがでます。
-
【マクロ】対象データを別シー...
-
Excel 複数シートから条件にあ...
-
Excelのセルの色を変えた行(す...
-
EXCEL VBAのコンボボックスに取...
-
別シートに成約をボタン1つで転...
-
エクセル複数シートのデータを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelのVlookup関数の制限について
-
エクセルの保護で、列の表示や...
-
文字の色も参照 VLOOKUP
-
Excel の複数シートの列幅を同...
-
VBAで繰り返しコピーしながら下...
-
【条件付き書式】countifsで複...
-
エクセル マクロ 標準モジュー...
-
エクセルの列の限界は255列以上...
-
Excelでの並べ替えを全シートま...
-
エクセルで、チェックボックス...
-
エクセルマクロを教えてほしい...
-
SUMPRODUCTにて別シートのデー...
-
Excel VBA ピボットテーブルに...
-
エクセルのブック分割マクロを...
-
【VBA】複数のシートの指定した...
-
excel 複数のシートの同じ場所...
-
Excelに自動で行の増減をしたい...
-
スプレッドシートでindexとIMPO...
-
エクセルで横並びの複数データ...
-
エクセル複数シートのデータを...
おすすめ情報