gooドクター有料プランが1ヶ月間無料!

いつもお世話になります。
また自己解決できずです・・・・

日付(yyyy年m月d日)が入っているシート名のブックがあるのですが、インプットボックスで日付の
yyyy年m月の部分を入力して、そのyyyy年m月の部分の文字が含まれるシートを削除したいコードが以下です。

Sub test1()

Dim saaa As String
Dim daaa As Worksheet
saaa = InputBox("日付を入力")
For Each daaa In Worksheets
If daaa.Name = "*" & saaa & "*" Then
Worksheets("*" & saaa & "*").Delete
Exit Sub
End If
Next
MsgBox "探しているシートはありません"
End Sub

おそらく If daaa.Name = "*" & saaa & "*" Then
     Worksheets("*" & saaa & "*").Delete
       
この2行がおかしいのだ思います。何とかご教示願いたいです。
宜しくお願い致します。

gooドクター

A 回答 (1件)

ワイルドカードでの比較は、Like演算子を使います。


Deleteのワークシート名に、ワイルドカード指定はできません。
よって、こんな感じです。

If daaa.Name Like "*" & saaa & "*" Then
daaa.Delete
    • good
    • 1
この回答へのお礼

ありがとうございますm(_ _)m

Like演算子!?


またひとつ勉強になりました。

お礼日時:2016/02/02 23:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング