• 締切済み

Excelマクロを利用してコピーする方法について

不特定の行を不特定の行にコピーするマクロを教えて下さい Rangeには直接セル位置を指定しなければならないと 思っているので何か方法がないでしょうか? 横に長い行を不特定位置にコピーしたいので           A列  B列  C列  D列 不特定の行  AAA 111 222 333 不特定の行  BBB 222 333 444 不特定の行 不特定の行 不特定の行 不特定の行 CCC 333 444 555  不特定の行 DDD 444 555 666   不特定の行 EEE 555 666 777  不特定の行 FFF 666 777 888  CCCが入力されているセルをクイック後、マクロを起動、BBBの下の行のセルを クイック後、CCCの行をそこにコピー そんな方法でのコピーがしたいのです 何か方法があったらお願いします

みんなの回答

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.3

パブリック変数とSelectionChangeイベントを併用すれば可能です。 Dim CopyRow As Integer Private Sub CommandButton1_Click() CopyRow = ActiveCell.Row End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If CopyRow > 0 Then Rows(CopyRow).Select Selection.Copy Rows(Target.Row).Select ActiveSheet.Paste Application.CutCopyMode = False Target.Select CopyRow = 0 End If End Sub コピーしたい行でボタンをクリックし、その後で貼り付けたい行をクリックするとコピーされます。

nagoyaseisen
質問者

お礼

ありがとうございました チャレンジしてみます

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.2

クリックされているセルは ActiveCell で求められます その行は ActiveCell.Row になります。 ただ、ご質問の動作は普通にコピーペーストしてもマクロで動作させても同じ手間だと思いますが…

nagoyaseisen
質問者

お礼

ありがとうございました いろいろチャレンジしてみます

  • notnot
  • ベストアンサー率47% (4900/10361)
回答No.1

無理だと思います。 CCCが入力されているセルをクリック後、マクロを起動、 BBBの下の行のセルをクリック後、別のマクロを起動すると、CCCの行をそこにコピー というのなら出来ます。

nagoyaseisen
質問者

お礼

ありがとうございました 仕事の関係で前月のExcelデータの項目や商品名、価格等を利用する予定で 出来ればコピー元のある巾の行をいちいち指定するのでなく その左端のセルをクイック、マクロをボタン化し コピー先のセルをクイックと思いましたが なかなか難しいです 本当にありがとうございました

関連するQ&A