いつもお世話になります
今、ValidateListを使ってシーt上にドロップダウンリストを作り、予め指定された値にしておきたいのですが、下記のようにテストプログラムを作ってみました
Sub test()
Cells(2, 10).Select: Call MakeDropDownList06(2): Selection.HorizontalAlignment = xlCenter
End Sub
Sub MakeDropDownList06(ByVal n As Integer)
Dim moji As String
Dim tmp As Variant
moji = "SD345,SD390,SD490,SR235,SR295"
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=moji
End With
tmp = Split(moji, ",")
With Selection
.Value = tmp(n - 1)
End With
End Sub
ここではSplitを使って、指定された番号の文字を挿入しているのですが
UserFormでつかうComboBox1.LsitIndexみたいなものや
もっとスマートな方法が有るのでないかと思い相談させていただきました
もし有れば、ご教授頂ければ幸いです
以上、よろしくお願い申し上げます
No.1ベストアンサー
- 回答日時:
あなたが提示した方法と、たいして変わりませんが、以下の方法ではどうでしょうか。
リスト用の文字をArrayで確保しておき、
Formula1には、それをカンマで連結して渡します。
表示値はArrayのn-1番目を渡します。
------------------------------
Sub MakeDropDownList06(ByVal n As Integer)
Dim tmp As Variant
tmp = Array("SD345", "SD390", "SD490", "SR235", "SR295")
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=Join(tmp, ",")
End With
With Selection
.Value = tmp(n - 1)
End With
End Sub
いつもお世話になります
なるほど
Splitを使うよりこちらの方がスマートですね
凄く参考になりました
使わせていただきます
これからもよろしくお願い致します
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) VBAプログラミング 2 2022/11/27 12:07
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) vba 重複データ合算 5 2023/07/05 18:55
- Visual Basic(VBA) エクセルのマクロとシートの保護について教えてください。 1 2022/10/18 08:36
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VisualStudio2022でC言語プログ...
-
正規表現で英(大小)と数字を必...
-
C言語で全角文字を扱いたいので...
-
Accessで文字列のバイト数読み込み
-
初心者が簡単なPowerShellスク...
-
Access2003 オートナンバーの現...
-
エラーの意味は? Lvalue req...
-
Excel-vba 文字列と変数を...
-
初心者プログラミング
-
C言語 列挙型(enum型)変数について
-
プログラミングについての質問...
-
C言語 exitの使い方
-
C言語初心者です。次の問題で質...
-
配列の値を置換するにはどうす...
-
UWSCのcallについて
-
テキストボックスの値を変数に...
-
C言語 アロー演算子について質...
-
for the first timeとfirst tim...
-
VBAでダブルコーテーション入り...
-
VBAで配列内のマッチ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VisualStudio2022でC言語プログ...
-
C言語で全角文字を扱いたいので...
-
Accessで文字列のバイト数読み込み
-
Cpadで文字化け
-
エクセルで数字の変換
-
VBA シート上にドロップダウン...
-
HTML5では文中の半角不等号はち...
-
アンダーバーとバックスラッシュ
-
文字数の多い単語だけ抽出(多...
-
Kシェルでの桁数取得
-
rubyの正規表現について
-
VC2008+Qtの文字化け
-
void lcd_str(unsigned char* p...
-
C言語 exitの使い方
-
VBAでダブルコーテーション入り...
-
フォームを開くときに、コンボ...
-
エラーの意味は? Lvalue req...
-
Excel-vba 文字列と変数を...
-
excelの、ある数式内の{}の意...
-
数字の位ごとの値を表示するプ...
おすすめ情報