
こんばんは、エクセル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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
1、Rstudioで回帰直線を求める...
-
1日に1人がこなせるプログラム...
-
Excelシート上で右クリックがで...
-
オートフィルタで抽出結果に 罫...
-
Exel VBA 別ブックから該当デ...
-
access2021 VBA メソッドまたは...
-
VBA 現在のセル番地を記憶、復...
-
VBAでファイルオープン後にコー...
-
Excel VBA素人です。VBAで図形...
-
ACCESS VBA ヘッダなしCSVの入...
-
JavaScriptの定数名が取り消し...
-
変数名「cur」について
-
エクセルに見えない文字(JISX0...
-
VBAのifで
-
COBOLの文法
-
コンパイルエラー 変数が定義...
-
ペンダントライトのコードの色...
-
gccの最適化オプションで挙動が...
-
Javaの改行について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
access2021 VBA メソッドまたは...
-
1日に1人がこなせるプログラム...
-
JANコードとPOSコードは同じ?
-
1、Rstudioで回帰直線を求める...
-
access2003 クエリSQL文に...
-
Exel VBA 別ブックから該当デ...
-
JavaScriptの定数名が取り消し...
-
COBOLの文法
-
VBAでファイルオープン後にコー...
-
変数名「cur」について
-
エクセルに見えない文字(JISX0...
-
オートフィルタで抽出結果に 罫...
-
Nullの使い方が不正です。
-
PreviewKeyDownイベントが2回...
-
【VB6】実行ファイルとした後、...
-
Javaの改行について
-
C# コードビハインドについて
-
Excelシート上で右クリックがで...
-
木偏に「久」
おすすめ情報