• ベストアンサー

エクセルマクロでの参照方法の変更

久々にエクセルのマクロで手直しが必要になりました。 色々調べましたが、判らなくて質問致します。 以下のマクロでAJ6に検索キーを作成しています。 Range("C5").Select 行 = Selection.End(xlDown).Row Range("AJ6").Select ActiveCell.FormulaR1C1 = "=RC[-35]&"" ""&RC[-34]&"" ""&RC[-33]&"" ""&RC[-32]" Selection.AutoFill Destination:=Range("AJ6:AJ" & 行) Range(Selection, Selection.End(xlDown)).Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks :=False, Transpose:=False ActiveSheet.Paste Application.CutCopyMode = False Range("A5").Select の様にRC[-35]ではなく$A6の様に絶対参照?にしたいのです 理由として間の列が追加になるたびにRC[-35]の数値の増減しないといけないので手間が掛かります。 列を増やしても$A6の様に固定ってできないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 見かけでは、R1C1方式の方が優れていますね。 私なりに、ご質問のコードを移植してみました。 以下のようにすれば、絶対参照になっています。 Sub TestSample() Dim myRow As Integer  myRow = Range("C5", Range("C65536").End(xlUp)).Rows.Count  With Range("AJ6").Resize(myRow)    .FormulaLocal = "=RC1&"" ""&RC2&"" ""&RC3&"" ""&RC4"    .Value = .Value  End With Range("A5").Select  End Sub

naopon2000
質問者

お礼

お返事遅くなり申し訳ありません。 上記マクロでうまく行きましたー 本当に助かりました、ありがとうございます!

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

R6C1 で $A$6 と同じになります マクロのヘルプでなくワークシートのヘルプの「R1C1」を検索してみてください。説明と例が載っていますよ

naopon2000
質問者

お礼

お返事が遅くなり申し訳ありませんでした。 ヘルプ参照に載っていましたね。 まだまだ勉強不足でした。ありがとうございました。

関連するQ&A

専門家に質問してみよう