Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6370 / 13646 ツリー ←次へ | 前へ→

【45586】分岐について けんじ 07/1/5(金) 2:34 質問[未読]
【45587】Re:分岐について かみちゃん 07/1/5(金) 7:25 発言[未読]
【45588】Re:分岐について けんじ 07/1/5(金) 9:31 発言[未読]
【45589】Re:分岐について けんじ 07/1/5(金) 10:05 発言[未読]
【45590】Re:分岐について りん 07/1/5(金) 12:16 回答[未読]
【45591】Re:分岐について Jaka 07/1/5(金) 12:34 発言[未読]
【45592】Re:分岐について りん 07/1/5(金) 12:41 発言[未読]
【45593】Re:分岐について けんじ 07/1/5(金) 15:23 発言[未読]
【45595】Re:分岐について Kein 07/1/5(金) 16:31 発言[未読]
【45596】Re:分岐について けんじ 07/1/5(金) 16:42 お礼[未読]

【45586】分岐について
質問  けんじ  - 07/1/5(金) 2:34 -

引用なし
パスワード
    分岐について教えて下さい。
下記コードを参考書片手に作成したのですが動いてくれません。
VBA初心者なのでコードが間違っているとは思うのですが
よろしくお願いします。
なお"#N/A"エラー表示ですが書き方は良いのでしょうか。
エラーのときには"カレンダーの設定を変更して下さい。" と表示したい。

Dim rc As Variant
Range("D38").Select
If Range("D38") = "#N/A" Then
rc = ktMsgBox("カレンダーの設定を変更して下さい。" _
       , vbOKOnly + vbExclamation, "報告" _
       , PromptColor:=vbBlack _
       , BackColor:=&HFFCCCC _
       , FontName:="MSゴシック" _
       , FontSize:=14)
End If

rc = ktMsgBox("カレンダー設定完了庁錬ヒ鼎能フ察」" _
       , vbOKOnly + vbExclamation, "完了報告" _
       , PromptColor:=vbBlack _
       , BackColor:=&HFFCCCC _
       , FontName:="MSゴシック" _
       , FontSize:=14)
   If rc = vbYes Then
 End If

End Sub

【45587】Re:分岐について
発言  かみちゃん  - 07/1/5(金) 7:25 -

引用なし
パスワード
   こんにちは。かみちゃん です。

> 動いてくれません。

どう動かないのですか?
参考にされた参考書は何ですか?
それに、ktMsgBoxがあったのでしょうか?また、ktMsgBoxとは何ですか?
もしかして、これ?
http://www.h3.dion.ne.jp/~sakatsu/ktMsgBox_Series.htm
(httpは、半角にしてください。)

>なお"#N/A"エラー表示ですが書き方は良いのでしょうか。
>エラーのときには"カレンダーの設定を変更して下さい。" と表示したい。

その前に今起きている、困っている状況を具体的に説明していただけないでしょうか?

【45588】Re:分岐について
発言  けんじ  - 07/1/5(金) 9:31 -

引用なし
パスワード
   ▼かみちゃん さん:
返事ありがとうございます。

型が一致しませんと出てしまいます。

>> 動いてくれません。
>
>どう動かないのですか?
>参考にされた参考書は何ですか?
>それに、ktMsgBoxがあったのでしょうか?また、ktMsgBoxとは何ですか?
>もしかして、これ?
>http://www.h3.dion.ne.jp/~sakatsu/ktMsgBox_Series.htm
>(httpは、半角にしてください。)
ハイそうです。Msgboxと同じです。

>
>>なお"#N/A"エラー表示ですが書き方は良いのでしょうか。
>>エラーのときには"カレンダーの設定を変更して下さい。" と表示したい。
エラー表示の場合のコードの書き方が解りません。
"#N/A"エラーでない場合はちゃんと↓これを表示してくれます
rc = ktMsgBox("カレンダー設定完了庁錬ヒ鼎能フ察」" _
       , vbOKOnly + vbExclamation, "完了報告" _
       , PromptColor:=vbBlack _
       , BackColor:=&HFFCCCC _
       , FontName:="MSゴシック" _
       , FontSize:=14)
   If rc = vbYes Then
 End If
End Sub
よろしくお願いします。
説明わかりますか?
>
>その前に今起きている、困っている状況を具体的に説明していただけないでしょうか?

【45589】Re:分岐について
発言  けんじ  - 07/1/5(金) 10:05 -

引用なし
パスワード
   文字ばけてました。下記です
rc = ktMsgBox("カレンダー設定完了OKで終了" _
       , vbOKOnly + vbExclamation, "完了報告" _
       , PromptColor:=vbBlack _
       , BackColor:=&HFFCCCC _
       , FontName:="MSゴシック" _
       , FontSize:=14)

追加説明
"#N/A"のときには"カレンダーの設定を変更しなさい"
そうでなければ"カレンダー設定完了"としたいのです。

【45590】Re:分岐について
回答  りん E-MAIL  - 07/1/5(金) 12:16 -

引用なし
パスワード
   けんじ さん、こんにちわ。

>"#N/A"のときには"カレンダーの設定を変更しなさい"
>そうでなければ"カレンダー設定完了"としたいのです。

とりあえず、ワークシート関数を使用してみました。

  If Application.WorksheetFunction.IsNA(Range("D38").Value) Then
   MsgBox "カレンダーの設定を変更しなさい"
  Else
   MsgBox "カレンダー設定終了"
  End If

こんな感じです。

【45591】Re:分岐について
発言  Jaka  - 07/1/5(金) 12:34 -

引用なし
パスワード
   りん さん:けんじ さん
おめでとうございます。
こういうのじゃだめ?

MsgBox IsError(Range("A1").Value)
MsgBox IsError(Range("A2").Value)

【45592】Re:分岐について
発言  りん E-MAIL  - 07/1/5(金) 12:41 -

引用なし
パスワード
   Jaka さん、おめでとうございます。

>MsgBox IsError(Range("A1").Value)
#N/Aエラーにこだわりがあるのかと思ってね。

【45593】Re:分岐について
発言  けんじ  - 07/1/5(金) 15:23 -

引用なし
パスワード
   おめでとうございます。
▼りん さん:
jakaさん
ありがとうございました。
りんさんの案でできました。

jakaさんのTrue・Falseを
判定のようですがこれをどういうふうに
"カレンダーの設定を変更しなさい"or
"カレンダー設定完了"
の文言を表示させればいいのでしょうか
初歩的質問と思いますがよろしくお願いします。

【45595】Re:分岐について
発言  Kein  - 07/1/5(金) 16:31 -

引用なし
パスワード
   VBAのIsError関数を使った場合も、りんさんのコードと全く同じです。
ワークシート関数ではないので、WorksheetFunction を付けないだけです。

  If IsError(Range("D38").Value) Then
   MsgBox "カレンダーの設定を変更しなさい"
  Else
   MsgBox "カレンダー設定終了"
  End If

【45596】Re:分岐について
お礼  けんじ  - 07/1/5(金) 16:42 -

引用なし
パスワード
   ▼Kein さん:
jakaさん
りんさん
ありがとうございました。
解決しました。

6370 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free