OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

EXCEL VBA で指定した範囲に入力があるかどうか?

  • すぐに回答を!
  • 質問No.187238
  • 閲覧数5281
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 58% (21/36)

こんばんは!!
EXCEL VBAを使い出して、初日からつまずいてます・・・。
みなさん、アドバイスよろしくお願いします!!

で、早速、質問なんですけど、
指定したセル範囲のいずれかに入力があるか調べたいんですけど、それができるプロパティとかってあるんでしょうか?
地道にセル毎にチェックするしかないいんでしょうか??

たとえば、範囲をA1:H1として、その範囲内のセルに何か入力があったらTrueが返ってくるとか・・・。

もし、知ってる方がいらっしゃたら教えてください!!
よろしくお願いします!!!!!
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル13

ベストアンサー率 68% (791/1163)

>これは、まず範囲を選択して、入力チェック()を呼ぶことなのでしょうか
書いたモジュールは範囲が指定してあります。("A1:H11"は間違いです。質問からすると"A1:H1"です)何もしないで入力チェックを実行します。
モジュールを CountA(Selecton) に変えれば任意の選択範囲がチェックの対象になります。任意の範囲を選択して実行します。
メッセージは確認するためで、IF ・・・・ で入力有無が判定できます。

>ワークシート関数CountAってどうやったら出てくるんですか??
ついApplicationと書いてしまうんですが、『WorksheetFunction.』と打てば、候補の関数名が表示されると思います。

下記の fnc入力チェック は入力有無を返すユーザー定義関数です。
書き方の例です。分かりやすくなった?この例は引数に"A1:H1"をセットしています。任意の範囲にするには Selection.Address に変えます。

Sub 入力チェック()
  Dim 入力有無フラグ As Boolean        '入力有無の答え

  入力有無フラグ = fnc入力チェック("A1:H1")  'モジュール内でA1~H1を指定(固定)

  MsgBox 入力有無フラグ            '帰ってきた答えをメッセージボックスで確認
End Sub

'入力有無を返すユーザー定義関数
Function fnc入力チェック(checkAddress As String)
  If WorksheetFunction.CountA(Range(checkAddress)) > 0 Then
    fnc入力チェック = True
  Else
    fnc入力チェック = False
  End If
End Function
お礼コメント
reira

お礼率 58% (21/36)

詳しい説明どうもありがとうございます!!

おかげさまで、うまくチェックできました(^-^)

なにぶん初心者なもので、またつまずいちゃったら質問にきますので、
その時はまた、どうぞよろしくお願いします~m(__)m

ありがとうございました!
投稿日時 - 2001-12-19 17:20:21
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル13

ベストアンサー率 68% (791/1163)

地道というか、指定範囲の入力個数を調べてみました。 Range("A1:H11") を Selection に変えれば、選択した範囲のチェックができます。 Sub 入力チェック()   'ワークシート関数CountAで指定範囲の入力個数をカウントする   '数値入力か文字入力のどちらか不明なためCountAで判定。入力があれば、Ifの判別式はTrue ...続きを読む
地道というか、指定範囲の入力個数を調べてみました。
Range("A1:H11") を Selection に変えれば、選択した範囲のチェックができます。

Sub 入力チェック()
  'ワークシート関数CountAで指定範囲の入力個数をカウントする
  '数値入力か文字入力のどちらか不明なためCountAで判定。入力があれば、Ifの判別式はTrue
  If Application.CountA(Range("A1:H11")) > 0 Then
    '入力があればTrueでこのメッセージがでます
    MsgBox "入力があります!"
  Else
    '入力がなければFalseでこのメッセージがでます
    MsgBox "入力はありません"
  End If
End Sub
補足コメント
reira

お礼率 58% (21/36)

早速のお返事、ありがとうございます。

これは、まず範囲を選択して、入力チェック()を呼ぶということなのでしょうか??
それから、ワークシート関数CountAってどうやったらでてくるんですか??

ちなみに入力は、数値入力でも文字入力でも構いません。
範囲内にとりあえず何か入ってたらTrueでいいです。

すいません・・・。
nishi6さんのお時間が空いている時があったら、またよろしくお願いします。
投稿日時 - 2001-12-19 09:39:16
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ