Excel VBA 質問スレッド №2119 (未解決)

変数を使用してファイルを開く

投稿者 : 琥珀     投稿日時 : 2025/05/31(Sat) 11:55:21     OS : Windows 10     EXCEL : Excel 2013
素人です。
マクロを使い別のcsvファイルを開きたいのですが、ファイル名が202504入金、202502入金と年数毎に存在しているため、メッセージボックスで202504などと入力する事で対応したファイルを開くようにしたいのですが、上手く行きません。
どのように組めば良いかお知恵をお貸しいただけると幸いです。

スポンサーリンク
[返信 1] Re : 変数を使用してファイルを開く
投稿者 : 曖昧     投稿日時 : 2025/05/31(Sat) 12:20:13
>メッセージボックスで202504などと入力する事で対応したファイル

曖昧とせずはっきりとさせましょう
開くだけならマクロ記録をしましょう
それを手本に色々手を加えたり変更したり・・・

[返信 2] Re : 変数を使用してファイルを開く
投稿者 : 曖昧     投稿日時 : 2025/05/31(Sat) 12:25:50
因みに場所が分からないと、HDD全部、ネットワークがあれば
そう言うところも延々と探すことになるでしょう

[返信 3] Re : 変数を使用してファイルを開く
投稿者 : 琥珀     投稿日時 : 2025/05/31(Sat) 13:32:47
ありがとうございます。
今はファイル名1個を指定しており

Workbooks.Open ("C:\Users\user\Desktop\Book1.xlsx")

End Sub

のような形でファイル名を指定しているのですが、
このBook1にあたる部分を変数にする方法が知りたく質問しました。

[返信 4] Re : 変数を使用してファイルを開く
投稿者 : 曖昧     投稿日時 : 2025/05/31(Sat) 13:59:51
>Workbooks.Open ("C:\Users\user\Desktop\Book1.xlsx")

数式と同じただの文字連結("で囲まれたものは文字)

= "C:\Users\user\Desktop\" & A1セル & ".csv"

Workbooks.Open ("C:\Users\user\Desktop\" & 変数 & ".csv")

[返信 5] Re : 変数を使用してファイルを開く
投稿者 : 曖昧     投稿日時 : 2025/05/31(Sat) 16:36:50
こういうこと?

変数1 = 202504
変数2 = Dir("C:\Users\user\Desktop\" & 変数1 & "*.csv")
msgbox "C:\Users\user\Desktop\" & 変数2

細かい使い方等詳細は、Dir関数を調べてね

[返信 6] Re : 変数を使用してファイルを開く
投稿者 : ピロリ     投稿日時 : 2025/05/31(Sat) 21:03:17
■[質問] 琥珀さん(2025-05-31 11:55:21)の記事
> ・・・メッセージボックスで202504などと入力する事で・・・
多分、MsgBoxではなくて、InputBoxで入力するってことだと思いますが、
個人的には、GetOpenFilenameのファイル選択がおすすめですけど・・・
参考になれば。

Sub Sample()
  ' 案1 ----------------
    Dim 変数 As String, File_Name As String
    変数 = InputBox("年月(yyyymm)を入力")
    If 変数 <> "" Then
        File_Name = "C:\Users\user\Desktop\" & 変数 & "入金.csv"
        If Dir(File_Name) <> "" Then
            Workbooks.Open (File_Name)
        End If
    End If
    
  ' 案2 ----------------
    Dim Dir_Path As String
    Dir_Path = "C:\Users\user\Desktop"
    ChDir (Dir_Path)
    File_Name = Application.GetOpenFilename(FileFilter:="CSVファイル,*.csv")
    If File_Name <> "False" Then
        Workbooks.Open (File_Name)
    End If
End Sub

当掲示板について
  • Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
  • 記事内ではHTMLのタグは使用できません。
  • 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
  • Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
  • Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
お 名 前  :
内  容   :

ステータス  :

認証コード  : キャプチャ画像 




( 処理日時 : 2025-07-04 12:45:07 )
タイトルとURLをコピーしました