Excel VBA質問箱 IV

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

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


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

【54784】入力漏れを防ぐため未入力のセルをチェックしたい はにほへと 08/3/29(土) 22:31 質問[未読]
【54788】Re:入力漏れを防ぐため未入力のセルをチェ... n 08/3/30(日) 2:12 発言[未読]
【54789】Re:入力漏れを防ぐため未入力のセルをチェ... はにほへと 08/3/30(日) 7:53 お礼[未読]
【54790】Re:入力漏れを防ぐため未入力のセルをチェ... ゴンベエ 08/3/30(日) 11:31 発言[未読]
【54797】Re:入力漏れを防ぐため未入力のセルをチェ... はにほへと 08/3/30(日) 18:17 お礼[未読]
【54791】Re:入力漏れを防ぐため未入力のセルをチェ... neptune 08/3/30(日) 12:11 発言[未読]
【54798】Re:入力漏れを防ぐため未入力のセルをチェ... はにほへと 08/3/30(日) 18:18 お礼[未読]

【54784】入力漏れを防ぐため未入力のセルをチェッ...
質問  はにほへと  - 08/3/29(土) 22:31 -

引用なし
パスワード
   入力規則を使い「◎、○、×、 」を選択した表があります。
表の登録が終了したら、マクロを実行し未入力の欄をチェックさせて、メッセージ「空欄があります」を表示させたいのですができません。

If Range("C10").Value = "" Then
     MsgBox ("点検・確認項目に空欄があります")
  End If
としても、実行すると空欄があるのに、エラー表示がでません。

また、一度に選択するセルはC10以外に沢山あるのですが、一つ一つ地道にRange名を記入しなくてもよい方法があればそれも知りたいのですが・・・どなたか教えてください。

初心者のためわかりにくい表現だったらすいません。

【54788】Re:入力漏れを防ぐため未入力のセルをチ...
発言  n  - 08/3/30(日) 2:12 -

引用なし
パスワード
   こんにちは。
>実行すると空欄があるのに、エラー表示がでません。
そのコードが標準モジュールに書かれていて、
ActivesheetのC10セルが本当に空欄なら、MsgBoxは表示されるはずです。
今一度確認してみましょう。
例えば
MsgBox Len(Range("C10").Value)
は何と出ますか?

わからない場合は全文提示したほうが的確なレスがつきますよ。

【54789】Re:入力漏れを防ぐため未入力のセルをチ...
お礼  はにほへと  - 08/3/30(日) 7:53 -

引用なし
パスワード
   ▼n さん:
>こんにちは。
>>実行すると空欄があるのに、エラー表示がでません。
>そのコードが標準モジュールに書かれていて、
>ActivesheetのC10セルが本当に空欄なら、MsgBoxは表示されるはずです。
>今一度確認してみましょう。
>例えば
>MsgBox Len(Range("C10").Value)
>は何と出ますか?
>
>わからない場合は全文提示したほうが的確なレスがつきますよ。

お答えありがとうございました。質問の仕方もよくわからない初心者なものですいません。早速やってみましたが、やはり実行するとMsgBoxgが表示されません。長くなりますが全文表示させて頂きます。

Sub
'入力画面からデータを保存画面へコピーする
'変数の宣言
Dim b As Integer
Dim mytime As Range
b = MsgBox("登録を実行します", vbOKCancel, 保存データの登録) '登録ボタンを押したときのメッセージ
If b = vbOK Then
'OKボタン後に入力シートの空欄がないかをチェックする
'日付のチェック
  If IsDate(Range("B5").Value) Then   
   Else
     MsgBox ("日付の入力をしてください")
    Exit Sub
  End If 
'時間のチェック
For Each mytime In Range("H3:H7")
  If IsNumeric(mytime.Value) And Not IsEmpty(mytime.Value) Then
    Else
     MsgBox ("時間の入力がされていません")
    Exit Sub
  End If
Next
'点検確認項目欄のチェック
  If Range("C10,C12,C15").Value = "" Then
     MsgBox Len(Range("C10").Value)
  End If
  If Range("A95").Value = "" Then
     MsgBox ("コメント欄が空欄です")
     Exit Sub
  End If
Sheets("保存データ").Activate '保存データをアクティブにする
Range("B65536").End(xlUp).Activate  '一番下の行からみて最初の数値記入セルを見て、一段下に下げる
ActiveCell.Offset(1, 0).Activate
ActiveCell.Value = Sheets("結果一覧表").Range"C3").Value          '日付の登録後、一つ右のセルへ移動
 ActiveCell.Offset(0, 1).Activate
ActiveCell.Value = Sheets("結果一覧表").Range("D8").Value '点検確認項目の保存
 ActiveCell.Offset(0, 1).Activate
ActiveCell.Value = Sheets("計器替え結果一覧表").Range("D9").Value
 ActiveCell.Offset(0, 1).Activate
ActiveCell.Value = Sheets("計器替え結果一覧表").Range("D10").Value
 ActiveCell.Offset(0, 1).Activate
End If
End Sub


日付や時刻については、書より何とかできたのですが、点検確認項目の空欄チェックができません。「◎、×、 」を判断させているから問題なのでしょうか?また、チェックするセルには入力漏れを防ぐために塗りつぶししてあるのですが、それも何かあるのでしょうか?

【54790】Re:入力漏れを防ぐため未入力のセルをチ...
発言  ゴンベエ  - 08/3/30(日) 11:31 -

引用なし
パスワード
   Orを使わないと、Range("C10,C12,C15").Value ではC10の値のみになるのではないでしょうか?

【54791】Re:入力漏れを防ぐため未入力のセルをチ...
発言  neptune  - 08/3/30(日) 12:11 -

引用なし
パスワード
   ▼はにほへと さん:
こんにちは

気になる点は多々ありますが、
先ず、デバッグの方法はプログラムを書く上で必須で、避けて通れません。
デバッグの方法を学ぶべきです。

取り合えず、Helpの
「Visual Basic 開発環境」
  「ブレークポイントの設定と解除」
  「イミディエイト ウィンドウの使用」
を読むと共に
作成したマクロの動作の確認方法
h tp://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_030.html
VBEの使い方
h tp://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_040.html
を参考にさせていただきましょう。


>日付や時刻については、書より何とかできたのですが、点検確認項目の空欄チェックができません。「◎、×、 」を判断させているから問題なのでしょうか?また、チェックするセルには入力漏れを防ぐために塗りつぶししてあるのですが、それも何かあるのでしょうか?

この辺りはそれで、確認できます。

【54797】Re:入力漏れを防ぐため未入力のセルをチ...
お礼  はにほへと  - 08/3/30(日) 18:17 -

引用なし
パスワード
   ▼ゴンベエ さん:
>Orを使わないと、Range("C10,C12,C15").Value ではC10の値のみになるのではないでしょうか?

ありがとうございます。現在自宅のため明日確認させていただきます。

【54798】Re:入力漏れを防ぐため未入力のセルをチ...
お礼  はにほへと  - 08/3/30(日) 18:18 -

引用なし
パスワード
   ▼neptune さん:
>▼はにほへと さん:
>こんにちは
>
>気になる点は多々ありますが、
>先ず、デバッグの方法はプログラムを書く上で必須で、避けて通れません。
>デバッグの方法を学ぶべきです。
>
>取り合えず、Helpの
>「Visual Basic 開発環境」
>  「ブレークポイントの設定と解除」
>  「イミディエイト ウィンドウの使用」
>を読むと共に
>作成したマクロの動作の確認方法
>h tp://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_030.html
>VBEの使い方
>h tp://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_040.html
>を参考にさせていただきましょう。
>
>
>>日付や時刻については、書より何とかできたのですが、点検確認項目の空欄チェックができません。「◎、×、 」を判断させているから問題なのでしょうか?また、チェックするセルには入力漏れを防ぐために塗りつぶししてあるのですが、それも何かあるのでしょうか?
>
>この辺りはそれで、確認できます。

ありがとうございます。まずHELPを確認したいと思います。

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