アプリ版:「スタンプのみでお礼する」機能のリリースについて

アクティブ「セル」のある「行」をコピーし、そのアクティブセルの下へ挿入するマクロに、複数「セル」を選択している場合は、複数行を挿入するように追記するには、どうしたらいいでしょうか?

Sub Macro1()
Rows(1).Copy
ActiveCell.EntireRow.Insert Shift:=xlDown
Application.CutCopyMode = False
ActiveCell.EntireRow.Hidden = False
End Sub

よろしくお願いします。m(_ _)m

A 回答 (1件)

ご相談のマクロはご質問の「言葉の説明」とやってることが食い違ってますが,どっちを信じればいいのでしょうね。


 ご説明:アクティブセルの行をコピー
 マクロ:アクティブセルと関係なく1行目をコピー

 ご説明:アクティブセルの下に挿入
 マクロ:アクティブセルの行を下げて,元あった場所に挿入


また,もっと肝心なポイントとして,
>複数「セル」を選択している場合は、複数行を挿入する

これも言葉の説明が曖昧ですが,選択された複数セルに対して(選択されたセル範囲の一番下に行数分纏めてじゃなく)「その1つ1つのセルについてその行に挿入する」と言いたいのだとします。
だとしても,同じ行で例えばB3,D3とかのセルが選ばれてたら,それは「3行目のセルが選択されてる」として「1行挿入」すれば良いのか,それともご相談の言葉尻を信じて「2行挿入」したいのか,どっちでしょう。



とりあえず,失礼ですが「あなたの言葉のご説明がいずれも間違ってる」モノとして,次のようなマクロにしてみます。

sub macro2()
 dim h as range
 for each h in application.intersect(selection.entirerow, range("A:A"))
  rows(1).copy
  h.insert
 next
 application.cutcopymode = false
end sub



それとも「やっぱりホントはこういう事がしたかった」場合は,このご相談は解決で一回閉じる操作を行ってから,改めて(今度はちゃんとご自分のご説明を読み返してから)正しい内容で新しいご相談として投稿し直してみてください。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
アドバイスいただいたように、質問の仕方をもう少し補足して投稿しなおします。

お礼日時:2014/01/08 15:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています