• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロのセルの範囲指定)

マクロのセルの範囲指定

このQ&Aのポイント
  • マクロ実行時にセルの範囲でマウスでセルを選んだところからマクロを実行させたい
  • 項目に関しては(BW4~BX4)は固定です。関数に関しては(BW10~BW10)は月によってはBW20になったりと行が変わります。
  • カッコ内を毎回変更するのは面倒なので、より便利な方法があれば知りたい

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

  • ベストアンサー
  • _Kyle
  • ベストアンサー率78% (109/139)
回答No.2

・Select は セルやセル範囲を選択するメソッドです。 ・ActiveCell は アクティブなセルを返すプロパティです。 というわけで、そもそもSelectしなければ良い…というよりも、 Selectすると「セルを選んだところ」が変わってしまいますからマズいです。 Range("BX4").Select とした時点で、Selectionはマウスで指定した箇所ではなくBX4になってしまいます。 Selectを使わず、 Range("BW4").FormulaR1C1 = "商談明細NO桁数" Range("BX4").FormulaR1C1 = "商談明細NO桁数2" ActiveCell.FormulaR1C1 = "=CONCATENATE(0,RC[-70])" ActiveCell.Offset(0, 1).FormulaR1C1 = "=RIGHTB(RC[-1],2)" とすれば【この部分以前にSelectしていなければ】ご要望のように動作するはずです。 ※ActiveCell は「マウスでセルを選んだところ」そのものです。 ※ActiveCell.Offset(0, 1) は「マウスでセルを選んだところの1列右」です。 ご参考まで。

chimaki102
質問者

お礼

できました~~! 勉強不足ですみませんm(。._.)m ありがとうございました。

その他の回答 (2)

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.3

Selection.Offset(, 1).FormulaR1C1 ですね。

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.1

Range("BW10").Select ActiveCell.FormulaR1C1 = "=CONCATENATE(0,RC[-70])" ↓ Selection.FormulaR1C1 = "=CONCATENATE(0,RC[-70])" というようにすれば良いです。

chimaki102
質問者

お礼

回答ありがとうございます。 マウスでBW10を指定してやってみたのですが BW10のみ表示されBX10は表示されませんでした。 Range("BX10").Select   ActiveCell.FormulaR1C1 = "=RIGHTB(RC[-1],2)" の部分はどのようにすればよいですか? 同じようにSelection.FormulaR1C1 では表示は無理ですよね。