
No.3ベストアンサー
- 回答日時:
こんにちは
MsgBox Evaluate("ISREF(" & "A1" & ")")
' →「 True 」
MsgBox Evaluate("ISREF(" & "AA" & ")")
' →「 False 」
というようなことでしょうか?
ワークシート関数のISREF()です。
No.4
- 回答日時:
質問者が、発想を変えたら。
Sub test01()
Dim x As Range
Set x = Application.InputBox("セル範囲=", Type:=8)
MsgBox x.Address
End Sub
のApplication.InputBox("セル範囲=", Type:=8)
を知ってますか。知らないのでは。これなら範囲的に可笑しな指定はされずにすむ。
単1セル
複数セル
1行全行
1列全列
全ゼル
CTRLを「押して2,3箇所のセル指定
などテストしましたが、正常な指定可能です。
ただCANSELボタンを押したときとかもう少し手当てが必要ですが。
No.2
- 回答日時:
例えばRange("aaa")は無効と書かれておりますが、ある範囲に"aaa"と名前が付けられている場合だとRange("aaa")は有効となるはずですので、自分でパターンを1つずつチェックするというのは大変ではないでしょか?
エラーハンドリングしたくないとありますが、私なら以下のような感じでチェック用のファンクションを使います。
※インデントに全角スペースを使用しています。
================================================================
Function CheckRange(strRange As String) As Boolean
Dim rng As Range
On Error GoTo RangeError
Set rng = Range(strRange)
CheckRange = True
Exit Function
RangeError:
CheckRange = False
End Function
呼び出し側では以下のような感じで…
MsgBox "A1=" & CheckRange("A1")
MsgBox "$A$1=" & CheckRange("$A$1")
MsgBox "A1:B2=" & CheckRange("A1:B2")
MsgBox "AA=" & CheckRange("AA")
MsgBox "$A1$=" & CheckRange("$A1$")
MsgBox "ああ=" & CheckRange("ああ")
MsgBox "A:1=" & CheckRange("A:1")
================================================================
No.1
- 回答日時:
では正常な値とは何でしょう?
"A:1"は正常?正常だとするとその規則を箇条書きにして見ましょう。
すると、一つずつチェックしていく内容が分かると思います。
返答ありがとうございます。
正常な値:
Range("A1")
Range("$A$1")
Range("A1:B2")
など
無効な値:
Range("AA")
Range("$A1$")
Range("ああ")
Range("A:1")
など
以上のような感じになります。
やはり自分で一つづつチェックするしか方法はないんでしょうか。何かよい関数か何かあれば、スマートになっていいなと思ったんです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
16進の10進変換について
Visual Basic(VBA)
-
-
4
[VBA] UserForm を Excel の Window の前面に表示させない方法
その他(プログラミング・Web制作)
-
5
Excel ユーザーフォームをモードレスで表示後
Visual Basic(VBA)
-
6
リンク先のファイルを開かなくても、値が読み込めるようにできますか?(SUMIFSを使ってます)
Excel(エクセル)
-
7
テキストボックス中の文字列の色を変更する方法は?
Excel(エクセル)
-
8
【VBA】【ユーザーフォーム_ListBox】オートフィルタで絞りこんだ値だけを取り出したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【ExcelVBA】値を変更しながら...
-
複数のExcelファイルをマージす...
-
VBA Application.Matchについて...
-
VBAでCOPYを繰り返すと、処理が...
-
ワードの図形にマクロを登録で...
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
-
【マクロ】並び替えの範囲が、...
-
エクセルの改行について
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】開いているブックの...
-
エクセルのマクロについて教え...
-
vb.net(vs2022)のtextboxのデザ...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
VBAの「To」という語句について
-
ExcelのVBAコードについて教え...
-
Excelのマクロについて教えてく...
-
エクセルVBAのブックを開く方法...
-
Vba TextBox1.ControlSourceに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba Array関数について教えてく...
-
VBAでCOPYを繰り返すと、処理が...
-
【ExcelVBA】5万行以上のデー...
-
【マクロ】シートの変数へ入れ...
-
vbsでのwebフォームへの入力制限?
-
エクセルのマクロについて教え...
-
【マクロ】並び替えの範囲が、...
-
Vba セルの4辺について罫線が有...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
VBAでユーザーフォームを指定回...
-
【マクロ】開いているブックの...
-
エクセルの改行について
-
vb.net(vs2022)のtextboxのデザ...
-
エクセルのVBAコードと数式につ...
-
算術演算子「¥」の意味について
-
Excelのマクロについて教えてく...
-
改行文字「vbCrLf」とは
-
ワードの図形にマクロを登録で...
-
VBAの「To」という語句について
-
【マクロ】変数を使った、文字...
おすすめ情報