|
本題からは逸れますが、
> On Error Resume Next
> Set r = Application.InputBox("任意のセルを選択してください", , , , , , , 8)
> On Error GoTo 0
> If Not r Is Nothing Then
> On Error Resume Next
> Set r = Intersect(r.EntireRow, r.Parent.Range("B:F"))
> On Error GoTo 0
> If Not r Is Nothing Then
> MsgBox r.Address(, , , True)
> Else
> MsgBox "範囲が取得できません"
> End If
> Else
> MsgBox "キャンセルしました"
> End If
は、あまりいいサンプルではありませんね〜。
2度目のエラートラップは何のため?と思います。
Intersectメソッドでは、共有範囲がなければNothingを返す仕様ですしね。
もしエラーを返すと誤認し、On Errorを咬ましたのかのかとも受け止めましたが、
それならば、既に使用済みのrという変数で受けてしまっては、
Nothing判定に結びつかないし、とてもチグハグに感じます。
もっとも、今回のIntersectメソッドの使い方に関しては、
Nothingを返すことはないと思いますけど。
正常に動くからいいということなのであれば、余計なお世話ですが。
|
|