AIと戦って、あなたの人生のリスク診断 >>

エクセルのVBAで、vbyesnoボタンのはい、いいえの表示をyes、noの表示にすることは可能でしょうか?

A 回答 (3件)

こんばんは。



>でもダイアログシートがよくわかりません

シートタブ--右クリック--挿入
MS Excel 5.0 ダイアログ

フォーム全体の大きさをドラッグして小さくします。
青いキャプションのところを、Microsoft Excel と入れます。

右上に、ボタンが二つありますから、それをドラッグして、
横に並べます。

Yes と No と書き換えます。(Y,Nのアクセラレータは使えません)
フォームツールバーから、ラベルをひとつ選んで、ボタンの上に貼りつけます。

後は、VBEditor の標準モジュールに、

例えば、このようなコードを入れます。
'-------------------------------------------
Sub Test1()
  With DialogSheets(1)
    .Labels(1).Caption = "Please click 'Yes Button' or 'No Button'."
    .Buttons(1).OnAction = "YesKey"
    .Buttons(2).OnAction = "NoKey"
    .Show
  End With
End Sub
Sub YesKey()
 MsgBox " You clicked 'Yes Button'", vbInformation
End Sub
Sub NoKey()
 MsgBox " You clicked 'No Button' or Close Button", vbInformation
End Sub
'-------------------------------------------
最後に、ダイアログシートを、書式から、シート--表示しない

とします。
「エクセルのvbyesnoのはい、いいえの」の回答画像3
    • good
    • 0
この回答へのお礼

ありがとうございます!!!!!

お礼日時:2010/02/03 21:48

こんにちは。



日本語バージョンですと、その表示は変えられないはずですが、ダイアログシートで、ほとんど見分けのつかないぐらい、メッセージボックスを変更することは可能です。また、UserForm と比較しても、非常に軽いです。
    • good
    • 0
この回答へのお礼

こんにちは^^
ありがとうございます!でもダイアログシートがよくわかりません。。。(汗
すみません。

お礼日時:2010/02/03 15:53

MsgBoxのことなら、無理でしょう、というより、無理です。



代わりに、UserFormを使ってください。

以上です。
 
    • good
    • 0
この回答へのお礼

ありがとうございます!

お礼日時:2010/02/03 14:13

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルでマクロボタンを押す前に、実行するかどうか再確認させたいのですが・・・。

いつもこちらで大変お世話になっています。

エクセルでマクロを組み、ボタンを作成しました。
ボタンをクリックすると、組んだマクロが開始されるのですが
その前に一度、「実行しますか?はい(実行)・いいえ(キャンセル)」といったような確認をさせたいのです。
このようなことは可能でしょうか?
可能ならば方法を教えてください。

どうぞよろしくお願いします。

Aベストアンサー

こんにちは。

>エクセルでマクロを組み、ボタンを作成しました。
元のコードがどうなっているのか分りませんので、実際は、どうしてよいのか具体的には、こちらでは分りません。

いくぶん、重複してしまいますが、それ以前のステップから書かないといけないようですが、よく読んで、試してみたください。

最初に、私の#2で書いたコードをそのまま貼り付けても、エラーが出ます。

それは、コマンドボタン(CommandButton)には、二種類あるからです。

1つは、コントロールツールのボタンと、もう1つは、フォームのボタンです。
それは、どちらなのかおわかりなりますか?

中身自体は、

'---------------------------------
If MsgBox("実行しますか?", vbQuestion + vbOKCancel) = vbCancel Then
  MsgBox "終了します。"
  Exit Sub
End If
  '実行継続
'---------------------------------

このようにはなるのですが、外側が違ってきます。

コントロールツールの場合は、コントロールツールから、右クリックして、コードの表示とすると、

Private Sub CommandButton1_Click()

End Sub

と中身の空のプロシージャが出てきますから、そこに中身の点線で囲まれた上記のコードを入れてあげます。

フォームのツールの場合は、

例えば、

Sub ボタン1_Click()
If MsgBox("実行しますか?", vbQuestion + vbOKCancel) = vbCancel Then
  MsgBox "終了します。"
  Exit Sub
End If
  '実行継続
End Sub

のようにして、右クリック-マクロの登録で、この名前「ボタン1_Click」を探して、登録します。

次に、「実行継続」の部分に、どんなものを入れるか、これは教えてもらってはいませんので、ご自分で入れられるなら、それを入れてください。もし、出来ないようなら、ここで公開してください。

こんにちは。

>エクセルでマクロを組み、ボタンを作成しました。
元のコードがどうなっているのか分りませんので、実際は、どうしてよいのか具体的には、こちらでは分りません。

いくぶん、重複してしまいますが、それ以前のステップから書かないといけないようですが、よく読んで、試してみたください。

最初に、私の#2で書いたコードをそのまま貼り付けても、エラーが出ます。

それは、コマンドボタン(CommandButton)には、二種類あるからです。

1つは、コントロールツールのボタンと、もう1...続きを読む

Q別のシートから値を取得するとき

Worksheets("シート名").Activate
上記のを行ってから別シートの値を取得するのですが、
この処理を行うと指定したシートへ強制的にとんでしまいます。。。

※イメージ
For ~ To ~
  Worksheets("シートA").Activate
  シートAの値取得
       :
  Worksheets("シートB").Activate
  シートBの値取得
Next

このイメージ処理を行うとものすごい勢いで画面がチカチカします。。。
シートを変えずに他のシートから値を取得する方法はないのでしょうか。
教えてください!

Aベストアンサー

Worksheets("シートA").Range("A1")

みたいな感じでできませんか?


人気Q&Aランキング