[[20220625112009]] 『セル番地が入力されたかどうかの判定』(Lion) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『セル番地が入力されたかどうかの判定』(Lion)

お世話になります。

早速ですが,InputBoxにセル番地(例として B7。半角,単一セル)を入力させようとしています。このエラー対策として,セル番地以外のもの(A, B, といった単独文字,単独数字,セル番地以外の文字列,あるいは未入力)があれば Exit Subにしたいのですが,どのように作成すればよいか教えていただけますか。

< 使用 Excel:Office365、使用 OS:Windows10 >


 こんな感じですか?

 Sub test()
    Dim s As String
    Dim rng As Range

    s = InputBox("アドレス入力!")
    On Error Resume Next
    Set rng = Range(s)
    On Error GoTo 0

    If rng Is Nothing Then
        MsgBox "アドレスとして不適切"
        Exit Sub
    End If
    MsgBox rng.Address
 End Sub
(γ) 2022/06/25(土) 11:57

編集がかぶりましたがそのまま。
思ったことにはならないかもですが、発想を変えてInputBoxメソッドを使ってみるのはどうですか?
 【参考】
http://officetanaka.net/excel/vba/tips/tips37.htm

    Sub テキトー()
        Dim セル As Range
        Set セル = Application.InputBox(Prompt:="セルを指定", Type:=8)
        MsgBox "セル番地は " & セル.Address(False, False)
    End Sub

(もこな2) 2022/06/25(土) 12:05


γ様,もこな2様

ありがとうございました。Range()に変数を入れるのですね。知りませんでした。

InputBoxメソッドの件も今後使えそうです。

ありがとうございました。
(Lion) 2022/06/25(土) 12:11


普通はInputBoxメソッドでインタラクティブに指定させるのが楽でしょうね。
範囲が広かったりすると、文字列指定が却って楽なこともあります。
エラー処理の見本のつもりで書きました。
Rangeに入れられるって、他にどんなことを考えていたのですか?
# いやまあ返事は強いて求めませんが。

(γ) 2022/06/25(土) 13:00


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.