以前教えて頂いたコード
Private Sub Workbook_Open()
Dim cellDate As Range
Dim Rng As Range
Set Rng = Worksheets("300").Range("D37,E37,D39,E39")
Dim strMsg As String
strMsg = ""
For Each cellDate In Rng
If Not IsDate(cellDate) Then strMsg = strMsg & cellDate.AddressLocal(0, 0)
Next
If strMsg <> "" Then MsgBox strMsg & " のセル日付を確認してください": Exit Sub
With Worksheets("300")
If chkPeriod(.Range("D37"), .Range("E37")) Then
MsgBox ("「行政報告先」の変更時期です、担当者は更新をし、ひな形の保存をお願いします。"), 48
Exit Sub
End If
If chkPeriod(.Range("D39"), .Range("E39")) Then
MsgBox ("「各行政条例」「べんり帳」の更新時期です、各担当者は更新をし、ひな形の保存をお願いします。"), 48
Exit Sub
End If
End With
End Sub
'例によってファンクションで
Function chkPeriod(fromDate As Date, toDate As Date) As Boolean
Dim chkResult As Boolean: chkResult = False
If Date >= fromDate And Date <= toDate Then
chkResult = True
End If
chkPeriod = chkResult
End Function
があります。
このコードは作業ブックを立ち上げたタイミングでそれぞれの指定日付範囲内であれば「警告文」を表示できます。
このコードを下記の条件を反映できる方法を教えてください。
1.「警告文-2」のみを表示させて「警告文-1」は削除
2.この作業ブックはマクロ有効テンプレート形式「.xltm」で使用しており、次の作業に移行し、ファイルをマクロ有効形式「.xlsm」又は一般の「.xlsx」で保存しながら使用していきますので、
このコードはマクロ有効テンプレート形式「.xltm」のみでの表示
以上となります。
よろしくお願いいたします。
No.3
- 回答日時:
これは失礼しました
テンプレート形式でしたね・・開いた時拡張子は決まっていませんでした
xlsmで実行しないに変えました
Private Sub Workbook_Open()
Dim tmp, dNow
tmp = Split(ThisWorkbook.Name, ".")
If Split(ThisWorkbook.Name, ".")(UBound(tmp)) <> "xlsm" Then
dNow = Format(Now, "yyyy/mm/dd")
With Worksheets("指定シート")
If dNow >= Format(.Range("D39"), "yyyy/mm/dd") _
And dNow <= Format(.Range("E39"), "yyyy/mm/dd") Then
MsgBox ("「締め切りが完了しました」"), 16
Exit Sub
End If
End With
End If
End Sub
No.2
- 回答日時:
チェックもいらないのね
Function chkPeriodは要りません
Private Sub Workbook_Open()
Dim tmp, dNow
tmp = Split(ThisWorkbook.Name, ".")
If Split(ThisWorkbook.Name, ".")(UBound(tmp)) = "xltm" Then
dNow = Format(Now, "yyyy/mm/dd")
With Worksheets("指定シート")
If dNow >= Format(.Range("D39"), "yyyy/mm/dd") _
And dNow <= Format(.Range("E39"), "yyyy/mm/dd") Then
MsgBox ("「締め切りが完了しました」"), 16
Exit Sub
End If
End With
End If
End Sub
No.1
- 回答日時:
>1.「警告文-2」のみを表示させて「警告文-1」は削除
警告文-2 ・ 警告文-1 どれ?
コードをそのまま消せばよいのでは?
>「.xltm」のみでの表示
実行されなければ良いのでしょうか? それとも文字通り コードを消す?
コードを消す場合 ブックモジュールの何処からどこまで?
実行されなければ良いのなら
Dim tmp
tmp = Split(ThisWorkbook.Name, ".")
If Split(ThisWorkbook.Name, ".")(UBound(tmp)) = "xltm" Then
Set rng = Worksheets("指定シート").Range("D37,E37,D39,E39")の上に
End With と
End If
End Sub の間に End If
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/17 11:59
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:12
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 09:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
マクロの保存先、開いてるすべ...
-
【Excel VBA】マクロでExcel自...
-
エクセル関数>参照ファイル名...
-
複数のExcelブックを1つ...
-
excel VBA シート保存について...
-
エクセル;相対パスを絶対パスへ...
-
ファイルごとにセルの移動方向...
-
【Excel】特定セルの内容をテキ...
-
エクセルVBAで作成した別ブック...
-
【Excel】マクロの保存先について
-
Excel VBAで他のブックを選択...
-
マクロ 自動でパスワード及び指...
-
エクセルでメッセージボックス...
-
エクセルで読み取り専用の時に...
-
ブックを開いたとき自動的にバ...
-
エクセルで複数のファイル(ブッ...
-
エクセル 半角カナを全角に、...
-
エクセルマクロで(セルの削除...
-
名前の変わるブックをアクティ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
エクセル関数>参照ファイル名...
-
【Excel VBA】マクロでExcel自...
-
エクセル;相対パスを絶対パスへ...
-
マクロの保存先、開いてるすべ...
-
【Excel】マクロの保存先について
-
excelで直前に参照していたブッ...
-
EXcelのマクロで相対パスでファ...
-
エクセルVBAで作成した別ブック...
-
複数のExcelファイルの印刷設定...
-
エクセルのvbaにて thisworkboo...
-
EXCELのボタンによるマクロの登...
-
エクセルVBA 個人用マクロブッ...
-
EXCELマクロで、開いてはいるが...
-
EXCELブックが勝手に開いて困っ...
-
エクセルで未保存に対するメッ...
-
[フィルターオプションの設定]...
-
【Excel】特定セルの内容をテキ...
-
ファイル名変更後も、マクロを...
-
名前の変わるブックをアクティ...
おすすめ情報
回答ありがとうございます。
又、私の文章に不備があったにも関わらず、教えて頂きましてありがとうございました。
記者のコードを設定しましたが
マクロ有効テンプレート形式「xltm」の場合でも
マクロ有効ブック形式「xlsm」の場合でもどちらでも警告文が表示されませんでした。
希望はマクロ有効テンプレート形式「xltm」の場合のみの表示です。
D39に2023/1/18 E39に2023/1/23 と設定しております。
解決方法を教えてください。
よろしくお願いします。
いつも親切にありがとうございます、上手行きました。
もう一つ教えて頂けますか、「xlsm」以外に
一般の「"xlsx" 」保存形式でも実行しないようにするにはどのようにしたら良いでしょうか、
よろしくお願いします。