ここから本文です

VBA ブックの名前 一部指定 -With Workbooks("*サンプル資料*.xlsm").Sheets("S...

nof********さん

2014/9/2516:47:45

VBA ブックの名前 一部指定

-With Workbooks("*サンプル資料*.xlsm").Sheets("Sheet1")

-条件分岐マクロ全部書くと文字数オーバーになるので一部のみ記載しました。
ブックの名前を部分一致で指定することは可能でしょうか?
やりたいことは 【サンプル資料】と拡張子が【.xlsm】と一致するブックを指定したいのですが・・・
ものすごいザックリな質問ですが、お分かりになる方いれば教えてください。

閲覧数:
515
回答数:
2
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

por********さん

2014/9/2518:49:40

こんにちは。
1) フォルダの一覧を作成して、リストから、ターゲットブックを探します。
2) 開く場合、
set bk = workbooks.open 見つけたブック
とすることで開いているブックは、
with bk.sheets("sheet1")
というコードになります。

示しているような、「ブック名ありき」のコードは、今回のような
ブック名が一定にならない場合、使いません。

それに、withで、アスタリスクのあるような文字列の指定は、仕様上エラーです

質問した人からのコメント

2014/9/29 10:57:40

ありがとうございました。

ベストアンサー以外の回答

1〜1件/1件中

プロフィール画像

カテゴリマスター

tra********さん

2014/9/2517:30:03

こんな例の手法をとるしかないでしょうね。

Dim bk As Workbook, Torf As Boolean
For Each bk In Workbooks
If bk.Name Like "*サンプル資料*.xlsm" Then
Torf = True
Exit For
End If
Next bk
If Torf Then
MsgBox bk.Name & "が最初に見つかりました"
Else
MsgBox "開かれているブックには見つかりません"
End If

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる