[[20200507170246]] 『Offset関数の書き方について』(ま) ページの最後に飛ぶ

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

 

『Offset関数の書き方について』(ま)

Offsetは、セルを指定できる関数ですが、以下の式に
i=3を入れた場合、どのような過程で移動する行、列の数が出せるのかわかりません。。

あと、\は割り算の商で、Modは、あまりの数字でよいでしょうか。

以下の式にi=3を代入した場合、どのような結果になるでしょうか。

Offset(((i - 1) \ 2) * 2, ((i - 1) Mod 2) * 2)

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


はい、商と余りですね。

なので、実行結果くらいは、ご自分で計算して確認してください。 そういう行為をデバッグと呼び、作った人が責任持って自分でやる作業です。(電卓使わずとも、イミディエイトウィンドウで式の部分だけ表示実行すれば、すぐ判ります)

例えば、プロシジャを途中で止めて、イミディエイトウィンドウで以下を実行すると、どのアドレスになるのか判ります。

    MsgBox Range("A1").Offset(((i - 1) \ 2) * 2, ((i - 1) Mod 2) * 2).Address

もっと判りやすくすると、以下とか。

 Sub test()
    Dim i As Long

    For i = 1 To 10
        With Range("A1").Offset(((i - 1) \ 2) * 2, ((i - 1) Mod 2) * 2)
            .Value = i & ": " & .Address
        End With
    Next i
 End Sub
(???) 2020/05/07(木) 17:25

コメント返信:

[ 一覧(最新更新順) ]


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