sheet1のA1セルに、VBAでドロップダウンリストを作ろうとしているが、うまくいかず、どうかアドバイスをお願い致します。
ドロップダウンリストの元のデータは「datalist」というシートののA1セル~A10セルにあります。
参考書を参考にしながら、下記コードを作成しました。
Sub ドロップダウンリストの作成()
Dim r As Variant
For Each r In Range("A1")
r.Validation.Add_
Type:=xlValidateList, _
formula1:="Worksheets("datalist")."=$A$1:$A$10"
Next r
End Sub
No.1ベストアンサー
- 回答日時:
たとえばこんな具合に。
sub macro1()
dim a as variant
a = application.transpose(worksheets("datalist").range("A1:A10"))
with worksheets("シート名").range("A1").validation
.delete
.add type:=xlvalidatelist, formula1:=join(a, ",")
end with
end sub
#入力規則のリストのネタに他のシートのセル範囲を使うのは,マクロ以前に手動で行ってみてもふつーの(ご質問のマクロでやってみようとしたような)やり方では出来ません。
回答ありがとうございます。いつもありがとうございます。
私はなんとか断片的にコードを理解するのが精一杯ですが、このようにコードを自分で記載されることが出来るのがすごいです。
少しずつですが、勉強になっております。ありがとうございました。
No.2
- 回答日時:
一例です。
formula1の引数を変更して下さい。
For文を使用しているのならばセル範囲ではないのか。
Sub Macro1()
For Each r In Range("a1:a10")
With r.Validation
.Delete
.Add Type:=xlValidateList, Formula1:="=datalist!a1:a10"
End With
Next
End Sub
No.3
- 回答日時:
マクロの自動記録から編集してみました
Sub Macro2()
'名前の定義
ActiveWorkbook.Names.Add Name:="リスト1", RefersTo:="=datalist!$A$1:$A$10"
'入力規則のリストに定義した名前を張り付ける
With Worksheets("Sheet1").Range("A1").Validation
.Delete
.Add Type:=xlValidateList, Formula1:="=リスト1"
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Excel(エクセル) vba シート名の一覧を2列に分けるには 5 2023/04/24 08:56
- Excel(エクセル) vbaで列幅について 1 2022/11/15 08:31
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- Visual Basic(VBA) EXCELのVBAについて 2 2023/07/05 17:17
- Visual Basic(VBA) エクセルで、1つのセルで上書き足し算して セルの範囲を指定できますか? パソコン初心者です。 お時間 3 2023/07/05 06:13
- Excel(エクセル) vba アクティブシートのA1セルの値を基準に複数のシートコピー&シート名を 6 2023/04/12 18:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access レポート印刷するときに...
-
アクセスクエリの計算
-
Access VBA を利用して、フォル...
-
実行時エラー3131 FROM 句の構...
-
エクセルのデータをアクセスに...
-
アクセスで教えてください。 ク...
-
【至急・画像あり】建物or住所...
-
Accessのスプレッドシートエク...
-
ACCESS VBA でのエラー解決の根...
-
Microsoft Accessをクレジット...
-
accessデータを指定したExcel、...
-
Microsoft365にAccessってあり...
-
Access VBA [リモートサーバー...
-
Accessで作ったデータベースをw...
-
アクセス レポートを開いたとき...
-
日付のテキストボックスに(例...
-
Accessのリンクテーブルのパス...
-
Access で半角スペースと全角ス...
-
アクセスクエリで教えて下さい...
-
Access Error3061 パラメータが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access レポート印刷するときに...
-
Access Error3061 パラメータが...
-
Microsoft365にAccessってあり...
-
Accessのクエリで、replace関数...
-
Accessのリンクテーブルのパス...
-
Access VBA [リモートサーバー...
-
ACCESS VBA でのエラー解決の根...
-
accessデータを指定したExcel、...
-
Accessのスプレッドシートエク...
-
CSVファイルの「0落ち」にVBA
-
【Access】Dcount関数の複数条...
-
Accessのフォーム上のテキスト...
-
Access VBA を利用して、フォル...
-
実行時エラー3131 FROM 句の構...
-
Vba Userformを前面に出すについて
-
Accessでフォームに自動入力し...
-
Accessレポートのチェックボッ...
-
Accessのテキストボックスの入...
-
Access 複数条件検索の設定が上...
-
accessのフォームに設置したボ...
おすすめ情報