• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル マクロ こんな事出来ますか?)

エクセルマクロでボタンクリックで目的のファイルを開く方法

このQ&Aのポイント
  • エクセル2010を使ってボタンクリックで目的のファイルをオープンさせるマクロを作成していますが、元々開いている場合や閉じている場合に次の動作に移りたいと思っています。
  • 現在のマクロは、目的のファイルをオープンするコードです。Aのファイルが開いていない場合には、目的のファイルをオープンします。
  • Aのファイルが開いている場合には、Aのファイルをアクティブにするコードを実行したいと考えています。詳しい方、ご教示いただけますと幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 一例です。 ファイルが開いていない場合はファイルを開き、 開いている場合はそのファイルをアクティブにするだけにしています。 Sub Sample1() Dim k As Long, myPath As String, fN As String, myFlg As Boolean myPath = "保存場所\" fN = "ファイル名.xlsm" For k = 1 To Workbooks.Count If Workbooks(k).Name = fN Then myFlg = True Exit For '←あまり意味がないかも・・・ End If Next k If myFlg = False Then Workbooks.Open (myPath & fN) Else Workbooks(fN).Activate End If End Sub ※ ファイルの保存場所はフルパスを記載してください。 こんな感じではどうでしょうか?

gekikaraou
質問者

お礼

回答ありがとうございます。 こんな感じでよいのでしょうか? Sub ボタン12_Click() Dim k As Long, myPath As String, fN As String, myFlg As Boolean myPath = "保存場所\" fN = "A.xlsm" For k = 1 To Workbooks.Count If Workbooks(k).Name = fN Then myFlg = True Exit For '←あまり意味がないかも・・・ End If Next k If myFlg = False Then Workbooks.Open (myPath & fN) Else Workbooks(fN).Activate Sheets("Sheet4").Select Range("BM99").Select Range("c3").Select End If End Sub 試してみた所、ファイルのオープンはするのですが、シートの選択まで行かないようです。 既にファイルが開いている場合でも、シートの選択に行かないのですが、何処に問題があるのでしょうか。 お手数ですが、教えて頂けませんでしょうか?

gekikaraou
質問者

補足

すいません、ファイルが開いている場合はシート、セルの選択まで行きました。 訂正いたします。

関連するQ&A