ここから本文です

エクセル2007のマクロ登録などについてご教示お願い致します。 指定のセルA,90...

アバター

ID非公開さん

2016/1/811:57:46

エクセル2007のマクロ登録などについてご教示お願い致します。

指定のセルA,900に下記のように構文を書きたく、解説を見て解ったのですが、
1.間違いはないかチェックをお願い致します。

2.これをどこにどうやって組み込むのかよく解っていません。
テストしましたがうまくいきません。
初心者にも解りやすく解説していただたく、お願い致します。

Private Sub Workbook_Open()

Dim Wsh As Worksheet
Dim blnOpen As Boolean

blnOpen = False
For Each Wsh In ThisWorkbook.Worksheets

'シート名「シート8」があるか
If Wsh.Name = "シート8" Then

'文字列「シート8」があればフラグをTrue(有り)にする
If Wsh.Cells(900, 1).Value = "シート8" Then
blnOpen = True
Exit For
End If

End If
Next Wsh

'フラグがFalseなら起動しないでブック終了
If blnOpen = False Then
MsgBox "シート8がありませんのでブックを終了します", vbCritical
ThisWorkbook.Close False
End If

End Sub

補足やっても解らなかったので、中途半端ではなく、
完全に解る方のみ回答をお願い致します。

閲覧数:
74
回答数:
2
お礼:
250枚

違反報告

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

hel********さん

2016/1/814:54:05

コードの内容を見ると、ブックを開いた直後にマクロが動作して、まず「シート8」というシート名があるかどうかを確認し、もし存在すれば、その「シート8」のセルA900に「シート8」という文字があれば、開いた状態になる。
仮に、シート8というシート名がないか、または存在してもそのシートのセルA900に「シート8」という文字がなければ、メッセージを表示させて、そのままブックを閉じるということでよいですか・・。

これは、ブックを開いたときに動作するイベントなので、ブックのイベントに記述します。
VBE画面の左上のプロジェクトエクスプローラの階層構造に「Thisworkbook」と書かれてあると思います。そこをダブルクリックして表示されたコードウィンドウに記述してください。
一旦、上書き保存をしてブックを閉じ、再びブックを開いた直後に動作するはずです。
もし、マクロを動かさないでそのままブックを開きたければ、Shiftキーを押したままブックを開いてください。

  • アバター

    質問者

    ID非公開さん

    2016/1/816:40:31

    helpnanodaさん 
    こんにちは回答ありがとうございます。
    シート8は例えばデータ表の名前で良いと思っています。
    次に a,900 セル内に おめでとう など文言を入れて、
    これが両方あったときにエクセルをオープンさせたいのです。
    この構文で良いのか、
    マクロテストや閉じてから試しましたが、うまくいきません。
    もう一度試してみます。
      m(_ _)m

  • その他の返信(4件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

アバター

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

2016/1/8 19:26:20

有難うございました。おかげさまでうまくいき、安心して使えます。
全然やった事がなかったので試行錯誤していました。
また何かありましたらよろしくお願い致します。 早々

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

1〜1件/1件中

tac********さん

2016/1/812:59:01

Private Sub Workbook_Open() が記述できる場所は一ヶ所しか有りません。

ThisWorkbook

の所です。

デバッグはご自分で行って下さい。

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

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

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

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

閉じる

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

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

閉じる