プロが教える店舗&オフィスのセキュリティ対策術

エクセル2002でマクロを記録しました。
セルD5を選択した状態で、マクロの記録を始めました。(相対参照ボタンをクリックしています)
D5のセルの色を黒にして、セルD6を選択して色を白にしました。ここで記録を終了しました。
VisualBasicEditorで見ると以下のような記述がありました。
そこで教えてください。
1)どの部分が相対参照をしているという意味の記述でしょうか?
2)どの部分がD6を選択したという記述でしょうか?
3)「Range("A1").Select」はどういう意味ですか?A1のセルはクリックしていないのですが・・・。
教えてください。
記述は以下です。

With Selection.Interior
.ColorIndex = 1
.Pattern = xlSolid
End With
ActiveCell.Offset(1, 0).Range("A1").Select
With Selection.Interior
.ColorIndex = 2
.Pattern = xlSolid
End With
End Sub

A 回答 (3件)

1)どの部分が相対参照をしているという意味の記述でしょうか?


特別無いです。強いて言えば、絶対参照としてのアドレスが入っていないことから全体が
最初のSelectionが選択されている範囲ということでD5を表しています。
2)どの部分がD6を選択したという記述でしょうか?
>ActiveCell.Offset(1, 0).Select
で、現在のアクティブセル(D5)の1つしたを選択するという意味です。
3)「Range("A1").Select」はどういう意味ですか?A1のセルはクリックしていないのですが・・・。
どうしてこういう風に記録されるのかはわかりませんが、
Range("A1")は、必要ないです。
ActiveCell.Offset(1, 0).Range("A1").Select
は、
ActiveCell.Offset(1, 0).Select
と同じ意味。
多分、選択されている範囲の一番左上というような意味だと思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。たいへん参考になりました。

お礼日時:2005/09/29 01:24

ためしに絶対参照にするとこうなります。



With Selection.Interior
.ColorIndex = 1
.Pattern = xlSolid
End With
Range("D6").Select
With Selection.Interior
.ColorIndex = 2
.Pattern = xlSolid
End With
    • good
    • 0
この回答へのお礼

ありがとうございました。たいへん参考になりました。

お礼日時:2005/09/29 01:23

こんにちは。



書籍を購入して勉強してくださいね。基礎の基礎ですから。ここのカテゴリを検索すると、推薦するVBAの学習書が出てきますから。Mougの 「大村あつし」さんの書籍などが一番良いかと思います。

一応解説しておくと、それは、相対参照の記録で、ほとんど記録マクロにしか見られないものです。しかし、この考え方も、後々役に立つことがあります。

>ActiveCell.Offset(1, 0).Range("A1").Select

相対参照は、自分の位置を中心にして、自分を、A1(起点)と呼ぶということです。相対参照は、必ずそういうようになります。ActiveCellの下隣を、A1(起点)にする、という意味です。

なお、相対参照には、固有の番地はありません。
    • good
    • 0
この回答へのお礼

ありがとうございました。たいへん参考になりました。

お礼日時:2005/09/29 01:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!