• ベストアンサー

マクロでアクティブセルにペースト

画像はエクセルのマクロで、F3~F7のセルをコピーして、O3のセルにペーストするという内容です。これをO3ではなく、アクティブセルにペーストするにはどのように記述すればよいでしょうか?

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

  • ベストアンサー
回答No.5

No.3の追加質問に対する回答 ActiveSheet.Paste の後にしたの2行を追加します Selection.Style = "Percent" Selection.NumberFormatLocal = "0.0%" Excelのマクロ記録機能を使うと結構やりたいことがコード化できます。 1.設定したいセルを選択状態にする。 2.画面左下ステータスバーのマクロ記録ボタンをクリックし記録を開始する。クリックするとダイアログが開くのでこれから記録されるマクロ名を覚えておきOKをクリック。 3.ホーム/数値/「標準」をクリックして「%」に変更する。 4.ホーム/数値/←0.00(小数点以下の桁数を増やす)をクリックする。 5.画面左下のマクロ記録ボタンをクリックし記録を停止する。 6.開発/コード/マクロ をクリックして2.で覚えたマクロ名を選択して「編集」をクリックすると上記操作のコードが現れるので必要な個所にコピー/貼り付けする。 Excelのコマンドで実行できることは、ほとんどこの方法でコード化できます。

その他の回答 (4)

  • m3_maki
  • ベストアンサー率64% (296/460)
回答No.4

ほとんど原型を留めませんが。 Sub Macro1()  Range("F3:F7").Copy ActiveCell End Sub

回答No.3

Range("F3:F7").select とするとF3~F7がアクティブになってしまいます。 特定のセルをアクティブにしておいて、そこにF3~F7をコピー、貼り付けするなら、下記のようにします。 Sub Macro1() Range("F3:F7").Copy         ’copyならアクティブセルにならない ActiveSheet.Paste           ’アクティブなセルに貼り付ける Application.CutCopyMode = False 'コピー状態が残るのでキャンセル End Sub

KIKAIDER01
質問者

補足

ありがとうございました。 追加の質問です。ペーストする際に 貼り付けオプションから「値」を選択しペースト、 表示形式は「パーセント」(小数点以下の桁数「1」) とするには、どのような記述を加えれば良いでしょうか?

  • kkkkkm
  • ベストアンサー率66% (1725/2595)
回答No.2

No1の追加です。 もともとアクティブだったセル(F3:F7をコピーする前に選択していたセル)にペーストしたい場合 質問のコードのイメージを残したままだと Sub Test() Dim mRange As Range Set mRange = ActiveCell Range("F3:F7").Select Selection.Copy mRange.Select ActiveCell.PasteSpecial End Sub 単純にしたばあい Sub Test2() Range("F3:F7").Copy ActiveCell.PasteSpecial End Sub

  • kkkkkm
  • ベストアンサー率66% (1725/2595)
回答No.1

Range("F3:F7").Select Selection.Copy が終わった時点でアクティブセルはF3になっています。 どこをアクティブセルにしたいのかしたい場所を Range("A1").Select などのように指定してから ActiveCell.PasteSpecial にしてください。 なおコードは画像ではなく質問にコピペしたほうが回答する側としてはやりやすいです。

KIKAIDER01
質問者

お礼

ありがとうございました。 今後は質問欄にコードを記述します。

関連するQ&A