つらつら Excel VBA

私の備忘録です。

簡潔に書こうとして失敗した

こんなの書いた。範囲拡大するだけ。

Sub test1()
    
    Dim rng As Range
    Set rng = Range("A1")
    
    With rng
        Set rng = .Resize(, 2) '列数拡大(1→2)
        Set rng = .Resize(3) '行数拡大(1→3)
    End With
    
    Debug.Print rng.Address
    
End Sub

.Resize(, 2)で列数が2に変わったことは確認した。
しかし「$A$1:$A$3」が出力される。「$A$1:$B$3」じゃない。

With内で書き換えたから参照先がおかしくなった?
Resizeの行数を省略したから?

そもそも普通に書いても短く済むのに可読性悪くなってる。
結論。デバッグ重要。

以上。