いつもお世話になります
今、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言語プログ...
-
Cpadで文字化け
-
Accessで文字列のバイト数読み込み
-
C言語 exitの使い方
-
フォームを開くときに、コンボ...
-
VBAでダブルコーテーション入り...
-
エラーの意味は? Lvalue req...
-
C言語 列挙型(enum型)変数について
-
jsp~jspにhiddenを使って変数...
-
DataGridView 複数行同時変更...
-
数字の位ごとの値を表示するプ...
-
テキストボックスの値を変数に...
-
配列の値を置換するにはどうす...
-
C言語でしりとりのプログラムを...
-
[VBS]変数を定数に変換する方法...
-
プログラミングについての質問...
-
COLUMN(1:1)の意味を教え...
-
C言語 アロー演算子について質...
-
copyRecordsetの数値16桁以上に...
-
python の 連鎖代入の文法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VisualStudio2022でC言語プログ...
-
C言語で全角文字を扱いたいので...
-
Accessで文字列のバイト数読み込み
-
VBA シート上にドロップダウン...
-
アンダーバーとバックスラッシュ
-
英数半角文字と「-」を指定する...
-
HTML5では文中の半角不等号はち...
-
Kシェルでの桁数取得
-
<python>算数の問題を作るプ...
-
文字数の多い単語だけ抽出(多...
-
rubyの正規表現について
-
PHPで特定の変数値を取り出す
-
VBAでダブルコーテーション入り...
-
フォームを開くときに、コンボ...
-
EXCEL/VBA 変数の値をクリップ...
-
足して100になるような乱数のア...
-
Excel-vba 文字列と変数を...
-
C言語 exitの使い方
-
excelの、ある数式内の{}の意...
-
配列の値を置換するにはどうす...
おすすめ情報