こんばんは、エクセル2010を使っていて、少し解らない事が有るので教えて頂けませんか?
以下の様なコードで、test.xlsmが開いてなかったら開く、開いていたらsheet1を選択するつもりでしたが上手く行きません。
Sub ボタン26_Click()
On Error Resume Next
If Workbooks("C:\Users\PC\Desktop\test.xlsm") Is Nothing Then
Workbooks.Open "C:\Users\PC\Desktop\test.xlsm"
End If
Sheets("sheet1").Select
End Sub
上記のコードでは、開いてなかったら開く、開いていると、開く確認が入ります。
正確には、どうやったら実現できるでしょうか。
詳しい方、教えて頂けませんでしょうか。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
こんばんは。
これは、昔、私が考えたコードです。
一度、ステップマクロで動かしてみると、良くわかります。
ご参考までで、決して、標準スタイルのコードではありません。
もし、ツッコミを入れるとしたら、
ErrHandler:
・
・
Set ws = Workbooks(fn)
Resume Next
----------------------
ErrHandler:
・
・
Resume
にすれば良いのですが、そこまでは、無茶できませんでした。
'//
Sub Test1()
'No. 8980161
Const mPATH As String = "C:\Users\PC\Desktop\test.xlsm"
Dim fn As String
Dim ws As Workbook
fn = Dir(mPATH)
If fn = "" Then Exit Sub
On Error GoTo ErrHandler
Set ws = Workbooks(fn)
ws.Activate
Worksheets("Sheet1").Select
Exit Sub
ErrHandler:
If Err.Number = 9 Then
Workbooks.Open mPATH
Set ws = Workbooks(fn) '←本来は、下をResumeすれば、ここは無駄
Resume Next
End If
End Sub
'///
No.1
- 回答日時:
こんばんは!
一例です。
Sub Sample1()
Dim k As Long, myFlg As Boolean
Dim myPath As String, fN As String
myPath = "C:\Users\PC\Desktop" & "\"
fN = "test.xlsx"
For k = 1 To Workbooks.Count
If Workbooks(k).Name = fN Then
myFlg = True
End If
Next k
If myFlg = False Then
Workbooks.Open myPath & fN
ActiveWorkbook.Worksheets("Sheet1").Activate
Else
Workbooks(fN).Worksheets("Sheet1").Activate
End If
End Sub
※ 少し無駄が多いコードかもしれませんが、
確実な方法にしてみました。m(_ _)m
回答ありがとうございます。
ばっちり出来ました、ありがとうございます。
ちょっと私には難しいですが、少しずつ勉強しています、ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Excel(エクセル) 【マクロ】フォルダを3つ、POモニター上に、決まった並べ方をしたい 4 2022/08/31 11:05
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/01/27 13:15
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Excel(エクセル) 【マクロ】フォルダを2つのモニターの定位置に並べたい 2 2022/09/02 01:14
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 12:00
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
ExcelのVBAコードについて教え...
-
1日に1人がこなせるプログラム...
-
Exel VBA 別ブックから該当デ...
-
VB6のComboBox関連の書き方をVB...
-
HTML電卓で1文字消す方法
-
VLookup関数を使ってラベルに表...
-
access2003 クエリSQL文に...
-
Excel VBA素人です。VBAで図形...
-
pythonにてseleniumを使うも、...
-
ExcelVBAで「Shift_JIS(MS932)...
-
エクセルに見えない文字(JISX0...
-
レポートでグループレベルの変...
-
chatgptでつくってもらったコー...
-
JANコードとPOSコードは同じ?
-
ACCESSで、履歴事項を管理する...
-
1、Rstudioで回帰直線を求める...
-
videopadについて
-
VBAでファイルオープン後にコー...
-
CheckBoxのコントロール配列に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
access2003 クエリSQL文に...
-
1日に1人がこなせるプログラム...
-
Exel VBA 別ブックから該当デ...
-
pythonにてseleniumを使うも、...
-
ExcelのVBAコードについて教え...
-
ExcelのVBAコードについて教え...
-
chatgptでつくってもらったコー...
-
欠番の抽出について
-
JANコードとPOSコードは同じ?
-
JavaScriptの定数名が取り消し...
-
1、Rstudioで回帰直線を求める...
-
特定行の背景色を変えたいのですが
-
変数名「cur」について
-
PreviewKeyDownイベントが2回...
-
将来AIが進歩してくるにつれて...
-
ACCESSユニオンクエリでORDER B...
-
COBOLの文法
-
VBAでファイルオープン後にコー...
-
Nullの使い方が不正です。
おすすめ情報