VBA セルにドロップダウンリスト 作成
Access VBAについてお尋ねいたします。
Access VBA にてExcelファイルを操作するプログラムを作成しています。
Excelの指定した範囲のセルにドロップダウンリストを作成しようとしてコードを入力したらエラーが発生しました。
エラー内容:実行時エラー'1004'アプリケーション定義かオブジェクト定義エラーです
エラーとなった処理コード
Dim Exf as string
Dim AppObj As Object 'Excel.Applicationオブジェクトの宣言
Dim WBObj As Object 'Excel.Workbookオブジェクトの宣言
Dim WsObj As Object 'Excel.WorkSheetオブジェクトの宣言
'実行時バインディング
Set AppObj = CreateObject("Excel.Application")
'編集を実施するワークブックを開く
Set WBObj = AppObj.WorkBooks.Open(Path & Exf)
'編集を実施するワークシートを設定する
Set WsObj = WBObj.Worksheets(1)
'Excelアプリケーションを表示する
AppObj.Visible = True
col = 5:Count(i) = 15
'2行目からデータが存在する最後の行までドロップダウンリストを作成する
With WsObj.Range(WsObj.cells(2, Col), WsObj.cells(Count(i) + 1, Col)).Validation
.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Formula1:=Join(Li, ",")
End With
処理の解説
1:Accessと同じファイルパス内のExcelファイルを開く
2:先頭のシートにて処理を実行する
3:E列の2行目からデータがある最後の行までをドロップダウンリスト化する
4:ドロップダウンリストにするデータは各Excelファイルの先頭から2番目のシートのA列にデータがあり、Liという配列に格納してあります。
※A列のデータの範囲【行数】が処理するたびに異なるため、Liという配列を使用し、配列の全データをドロップダウンリスト化するという方法を採用いたしました。
エラーの修正方法がお分かりの方がいらっしゃいましたら回答のほどよろしくお願いいたします。
お礼
n-jun様 早速お答えいただいたのに、 お礼が遅くなってしまって済みませんでした。 ご回答いただいたURL先にアクセスして あれこれ試してみましたが、 齢を重ねたせいもあってか なかなか、思うようにはいきませんでした まことに、お恥ずかしい限りです で、あれこれ悪戦苦闘しているうちに ひょんなところから With Worksheets("XXXXX") .Range("A1").CurrentRegion.Clear Range("A1:A1000").AdvancedFilter _ Action:=xlFilterCopy, _ CopyToRange:=.Range("A1"), _ Unique:=True End With と記述すれば、うまくいけそうだということで 早速実行してみたところ、 なんとかユニークなリストを取得することができました おかげさまで なんとか、モヤモヤをクリアーすることができました 本当にありがとうございました