- ベストアンサー
マクロ、メッセージ表示ボタンで質問です。
よろしくお願いします。 マクロでボタンを押すとメッセージを表示させたいのですが、 Sub 表示条件() MsgBox "表示条件 (1)__ (2)__", vbInformation End Sub と、していますが、この(1)、(2)を改行して表示させることは 可能でしょうか? マクロ初心者です。 よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- メッセージボックスを表示させるエクセルマクロ
こんにちは。マクロ初心者です。 エクセル(Excel2003)でメッセージボックスを 表示させるマクロが思うようにいかず困っています。 B列に「○○会社」と入力されれば、 「取引先です。」 とメッセージボックスを表示させたいと思い、 次のとおりマクロを作成しました。 -------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 And Target Like "*会社" Then MsgBox "取引先です。" End If End Sub -------------------------------- しかし、コピーなどで複数のセルを貼り付ける(入力)行為をすると、 「実行エラー'13': 型が一致しません」と出てしまいます。 Worksheet_Change(ByVal Target As Range)を使っているので、 -------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Target.Column = 2 And Target Like "*会社" Then MsgBox "取引先です。" End If End Sub -------------------------------- と、「If Target.Count > 1 Then Exit Sub 」を入れれば、 メッセージは出なくなるのですが、 これだと、A列セルに、コピー&ペーストで複数セルを貼り付けた場合、 「○○会社」があっても、マクロが効いてきません。 複数セルの貼り付けにも対応させるには、 どのようにすればよろしいでしょうか? 基本的なところが理解できていないのだと自覚しておりますが、 どうかご教授願います。 長々とわかりづらい文章ですみません。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- マクロの基本的なことについて質問です。
マクロの基本的なことについて質問です。 1、Sub 前判定until() i = 1 Do Until i > 10 i = i + 1 Loop MsgBox ("カウンタは" & i & "になりました") End Sub メッセージは11になります。 2、Sub 前判定while() i = 1 Do While i > 10 i = i + 1 Loop MsgBox ("カウンタは" & i & "になりました") End Sub メッセージは1になります。 1、はiが10より大きくなるまでというのが条件で、それまでi=i+1を続けるということではないんでしょうか。つまり、最初はi=1なので、メッセージは「2」になるのではと思うのですが… 2、も同様にわかりません。難しくて頭が混乱しています。どなたか分かりやすい例などを沿えて回答を頂けると有り難いです。どうかよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- ワードを開いた時にメッセージを表示
いつも使用しているワードファイルを開いた際に、メッセージを表示させる方法はありますでしょうか? 開いたときに『入力仕様書が変更になりました!!』など、出したいと思っています。 マクロで下記のように登録したのですが、これをファイルを開いたときに動作させるにはどうしたらよいのでしょうか? 宜しくお願いします。 Sub message() MsgBox "仕様書が変更になりました!!" End Sub
- ベストアンサー
- オフィス系ソフト
- 100問を超えたら終了ですのメッセージをだしたい(あくせす)
Private Sub cmd次_Click() On Error GoTo Err_cmd次_Click DoCmd.GoToRecord acForm, "F_さあやってみよう", acNext If (Forms!F_さあやってみよう!txt番号 = 100) 'これだと100問になったときにメッセージがでてしまいます。100問を終了してボタンをクリックしたら 終了のメッセージを表示したいのですが、 101という番号はありません。 Then Beep MsgBox "終了です(*^。^*)", vbInformation, "終了" End If Exit_cmd次_Click: Exit Sub Err_cmd次_Click: MsgBox Err.Description Resume Exit_cmd次_Click End Sub よろしくお願いしますm(__)m
- ベストアンサー
- オフィス系ソフト
- マクロに関して(ソフトのトラブル?)
エクセルのマクロでWorkSheetの所に Private Sub Auto_Open() MsgBox "test" End Sub と入力し、保存した後に開いてもメッセージボックスが現れません。 簡単すぎるほどのマクロですし、イベントがコマンドボタンとかなら動作するのでソフトがおかしいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- フォームを表示してからメッセージボックスを表示する
メッセージボックスが表示される前に、フォームを表示させたいです。アクセスです。 ナビゲーションウインドウからフォームをダブルクリックしてフォームを開くのですが、 今のままだとメッセージボックスが表示されてからフォームが表示されてしまいます。 フォームを表示してからメッセージボックスを表示するにはどうすればいいでしょう? Private Sub Form_Open(Cancel As Integer) MsgBox "Form_Open" End Sub だと、先ほど述べたように、メッセージボックスが表示されてからフォームが表示されてしまいます。 フォームを開いたときのイベントは複数あるようで、 Private Sub Form_Activate() MsgBox "Form_Activate" Debug.Print "Form_Activate" End Sub Private Sub Form_Current() MsgBox "Form_Current" Debug.Print "Form_Current" End Sub Private Sub Form_GotFocus() MsgBox "Form_GotFocus" Debug.Print "Form_GotFocus" End Sub Private Sub Form_Open(Cancel As Integer) MsgBox "Form_Open" Debug.Print "Form_Open" End Sub Private Sub Form_Load() MsgBox "Form_Load" Debug.Print "Form_Load" End Sub をすると、 ・Form_Load ・Form_Activate ・Form_GotFocus ・Form_Open ・Form_Current の順に開きますが、やはりフォームが最後に表示されてしまいます。 どうにかして先にフォームを表示させる方法はないでしょうか? ご回答よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- シートが表示された時にメッセージを表示したい
win7・Excel2007でマクロ作成中の初心者です。 1)今ブック2個があります。 2)ひとつは、ブックAでマクロ書き込み用です。 3)もひとつは、ブックBで、データ作業用です。 4)やりたい事は、ブックAのユーザーフォームのコマンドボタンクリックで ブックBのシートCを表示させ、メッセージボックスを即座に表示させたいです。 5)そこで、ブックAにコードを書込みました。 Private Sub CommandButton89_Click() Unload Me 表を開く End Sub ----------------------------------------- Sub 表を開く() ChDrive ThisWorkbook.Path ChDir ThisWorkbook.Path On Error GoTo err: Workbooks("H25年11月の表.xls").Activate Exit Sub err: Workbooks.Open Filename:=ThisWorkbook.Path & "\綴り\H25年11月の表.xls" Sheets("確定").Select MsgBox "これを更新してください。" End Sub ところが、シートCを表示させてから、メッセージボックスを表示させたいのに Private Sub CommandButton89_Click() Unload Me こんなところで(この段階で)、メッセージボックスが出てきてしまいます。 表を開く ここで出したいです。 End Sub シートを開いてからメッセジボックスを開くにはどうしたらよいでしょうか?よろしくお願いします。
- ベストアンサー
- Visual Basic
- エクセルにおけるマクロ設定ボタンからのみの印刷方法
いつもお世話になっております。 エクセル(Office2016)において、マクロ設定ボタンからのみ印刷する方法をお聞きいたします。 マクロには印刷に関係した内容が登録されており、未入力箇所や規定内容以外を入力した場合はメッセージを表示させて印刷を中止し、入力項目が全て条件に合致している場合のみ、印刷がなるようにしています。 しかし、「ファイル」→「印刷」などから印刷するとエラーチェックがならず誤った内容で印刷され、誤った資料が提出されてしまいます。 インターネットで調べたところ、下記の方法で印刷が中止できることを知りました。 ------------------------------------------------------------------------------ Private Sub Workbook_BeforePrint(cansel As Boolean) MsgBox "印刷ボタンから印刷してください" Cancel = True End Sub ------------------------------------------------------------------------------ しかし、上記モジュールを「ThisWorkbook」に登録すると「ファイル」→「印刷」などからの印刷だけでなく、マクロボタンからも印刷できなくなってしまいました。 そこでお聞きしたいのですが、「ファイル」→「印刷」などからの印刷はできないようにし、マクロボタンからのみ印刷できるようにする方法はありますでしょうか。 また、「ファイル」→「印刷」などから印刷しようとした際には、エラーメッセージに「印刷ボタンから印刷してください。」のメッセージを表示させたいと思います。 どうぞご教示くださいますようお願いいたします。
- ベストアンサー
- Excel(エクセル)
- コマンドボタンに二回目のマクロ実行しない設定を
excel2007を使ってマクロ作成の初心者です。 「最新明細」シート上に、ユーザーフォームがあります。 その中のコマンドボタンクリックすると マクロ2を実行します。 しかし、このマクロは月初めに1回だけ実行し、 再びボタンをクリックしても、マクロ2を実行しないようにしたいです。 いろいろ考えたましたが、思ったように動作させることできず、こまってます。 どうしたらよいのでしょう。 Sub 処理済の確認() Dim AB3 As Date Dim AB4 As Date Sheets("計算").Select If AB3 = AB4 Then Exit Sub MsgBox "データは処理済みです。" Sheets("最新明細").Select Else End If If AB3 <> AB4 Then マクロ2の実行 End If End Sub
- 締切済み
- Visual Basic
- マクロボタンをある条件の時にだけ、表示させたいのですが・・・
マクロボタンをある条件の時にだけ、表示させたいのですが・・・ 月末処理のマクロを作ったのですが、月末の日以外では、誰もボタンを押せないように表示しない様にしたい(ボタンを押してもマクロを実行しない方法でも良いです。) 初心者なので、簡単な方法があれば教えてください。
- 締切済み
- その他MS Office製品
お礼
できました。 ありがとうございました。 これからはWeb検索して、それでもわからなかったら質問するようにします。 申し訳ありませんでした。