- ベストアンサー
マクロのセルの範囲指定
- マクロ実行時にセルの範囲でマウスでセルを選んだところからマクロを実行させたい
- 項目に関しては(BW4~BX4)は固定です。関数に関しては(BW10~BW10)は月によってはBW20になったりと行が変わります。
- カッコ内を毎回変更するのは面倒なので、より便利な方法があれば知りたい
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
・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列右」です。 ご参考まで。
その他の回答 (2)
- nattocurry
- ベストアンサー率31% (587/1853)
Selection.Offset(, 1).FormulaR1C1 ですね。
- nattocurry
- ベストアンサー率31% (587/1853)
Range("BW10").Select ActiveCell.FormulaR1C1 = "=CONCATENATE(0,RC[-70])" ↓ Selection.FormulaR1C1 = "=CONCATENATE(0,RC[-70])" というようにすれば良いです。
お礼
回答ありがとうございます。 マウスでBW10を指定してやってみたのですが BW10のみ表示されBX10は表示されませんでした。 Range("BX10").Select ActiveCell.FormulaR1C1 = "=RIGHTB(RC[-1],2)" の部分はどのようにすればよいですか? 同じようにSelection.FormulaR1C1 では表示は無理ですよね。
お礼
できました~~! 勉強不足ですみませんm(。._.)m ありがとうございました。