エクセル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
No.1ベストアンサー
- 回答日時:
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
と同じ意味。
多分、選択されている範囲の一番左上というような意味だと思います。
No.3
- 回答日時:
ためしに絶対参照にするとこうなります。
With Selection.Interior
.ColorIndex = 1
.Pattern = xlSolid
End With
Range("D6").Select
With Selection.Interior
.ColorIndex = 2
.Pattern = xlSolid
End With
No.2
- 回答日時:
こんにちは。
書籍を購入して勉強してくださいね。基礎の基礎ですから。ここのカテゴリを検索すると、推薦するVBAの学習書が出てきますから。Mougの 「大村あつし」さんの書籍などが一番良いかと思います。
一応解説しておくと、それは、相対参照の記録で、ほとんど記録マクロにしか見られないものです。しかし、この考え方も、後々役に立つことがあります。
>ActiveCell.Offset(1, 0).Range("A1").Select
相対参照は、自分の位置を中心にして、自分を、A1(起点)と呼ぶということです。相対参照は、必ずそういうようになります。ActiveCellの下隣を、A1(起点)にする、という意味です。
なお、相対参照には、固有の番地はありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) 複数セルに〇印をつけるマクロ 4 2022/09/07 05:33
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Excel(エクセル) ExcelVBAについて。 2 2022/12/10 20:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの複数のセルを一括で...
-
エクセルでセルを10個分くらい...
-
ワードの表のセル 網掛けのコピー
-
指定した範囲から、文字A、文字...
-
A1セルに入力したら、入力時間...
-
Excelで同じセルに箇条書きをし...
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
Excelの入力規則で2列表示したい
-
エクセルで1列に500行並んだデ...
-
セルを結合したA4とA5の条件付...
-
excelでSUBTOTAL関数を設定した...
-
リンク元の日付が空白の時リン...
-
IF関数で0より大きい数値が入力...
-
Excelで年月日データから下二桁...
-
エクセルで既に入力してある文...
-
お肉の下のシートを煮込んでし...
-
参照先セルに値が入っていない...
-
値を入力後、自動的にアクティ...
-
Excel 日付を比較したら、同じ...
-
複数の文字列のいずれかが含ま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの複数のセルを一括で...
-
エクセルでセルを10個分くらい...
-
エクセル空白以外の文字を抽出
-
エクセルVBAでフィルタ抽出...
-
ワードの表のセル 網掛けのコピー
-
WEB上の文章 ⇒ EXCEL...
-
波線は無理??
-
マクロ 複数セルコピー後、1つ...
-
Excel セルの値を数値と認識しない
-
VBA 飛び飛びのセルを選択...
-
Excel 2003 セルの中に特定の...
-
指定した範囲から、文字A、文字...
-
複数の離れた選択範囲をコピー...
-
エクセル2007で総当り表を作り...
-
セルの書式設定(選択範囲内で中...
-
ExcelのVBA セル内の文字書き換...
-
EXCEL VBA 複数セルのコピー
-
<Excel> Ctrl での複数セルの選...
-
VBA コピーモード中の左上隅セ...
-
文字だけ削除する関数ありますか?
おすすめ情報