ユーザーインターフェースのコンボボックスに入れた値をSubプロシージャのDir関数に渡し、引数がファイル名に入っているファイルを開きたい
VBA初心者です。
別のファイルから必要なデータだけを抽出して、リストを作成するプログラムを書いてます。
タイトルの通りにしたいのですが、「データ型が違う」となり、エラーになります。
数時間あれこれ調べたり試したのですがダメでした。ご教示頂ければ幸甚に存じます。
発生している問題・エラーメッセージ
エラーメッセージ
エラー:13
型が一致しません
該当のソースコード
VBAソースコード
ーーーーーーー(引き渡したい値/コンボボックスに入力する値↓)---------------
1:Dim i As Integer
2:Dim VYear As Integer
3:VYear = Year(Date)
4:For i = VYear - 1 To VYear + 1
5:CmbBox_年.AddItem i
6:CmbBox_年.value = VYear
7:Next
8:End Sub
ーーーーーー(値の引き渡しを指示するプロシージャ↓)--------------------
1:Private Sub CmdBtn_作成_Click()
2:Profile_List_年度全員 CmbBox_年.Text
3:End Sub
ーーーーーーー(引き渡されるプロシージャ↓)-------------------
1:Option Explicit
2:Sub Profile_List_年度全員(ByVal VVYear As String)
3:Dim aa As String
4:Dim bb As String
5:aa = Dir("C:\Users\me\Desktop\VBA\共有フォルダ\勉強用 " And VVYear And " 人数データ.xlsx")
6:bb = Dir("C:\Users\me\Desktop\VBA\Profile List Maker.xlsm")
7:Workbooks.Open Filename:="C:\Users\me\Desktop\VBA\共有フォルダ\勉強用 " And VVYear And " 人数データ.xlsx", ReadOnly:=True
8:Workbooks(aa).Worksheets(VVYear And "年 人数データ").Copy after:=Workbooks(bb).Worksheets(Worksheets.Count)
9:Workbooks(aa).Close Filename:="C:\Users\me\Desktop\VBA\共有フォルダ\勉強用 " And VVYear And " 人数データ.xlsx"
10:End Sub
試したこと
コンボボックスの値を設定するときにDate関数を用いてますので、
CStr関数でDir関数に合うように文字列に変換してみたのですが、結果は変わりませんでした。
回答1件
あなたの回答
tips
プレビュー