• ベストアンサー

Excel エクセル 2003 セル内のデータ移動 マクロ?

データはE6からE297まであります。 E7のデータをD6へ、E9のデータをD8へ下に、これを最後まで行いたいのです。 ドラッグアンドドロップや切り取り、貼り付け(ショートカット)では時間がかかるので何かいい方法はありませんでしょうか?(マクロなのかな?) また、E列だけでなく他の列(任意)へ移動したときや、E17などのように任意から始まるときなど、そしてEデータが297ではなくもっと増えたときなどの対応などをあわせてお教えいただくとうれしいです。 よろしくお願いします。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

D6セルに  =IF(E7="","",E7) と入力して下方向にコピーする方法ではいけませんか? 行削除をする可能性があるなら以下の式の方が良いかもしれません。  =IF(OFFSET(D6,1,-1)="","",OFFSET(D6,1,-1)) 列の挿入や削除で列が変わっても問題なく表示できます

Tosihiko12
質問者

お礼

ありがとうございます。 E列は空白はないのでIF文は使わずに使用しました。 =OFFSET(D6,1,1) でできました。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

E6からE297まであるデータのうち、奇数行のデータをD列の一つ上のセルに移動させるということでしょうか? Sub test01() With ActiveSheet For i = 6 To 297 If i Mod 2 <> 0 Then .Cells(i - 1, "D") = .Cells(i, "E") .Cells(i, "E").ClearContents End If Next End With End Sub

Tosihiko12
質問者

お礼

>E6からE297まであるデータのうち、奇数行のデータをD列の一つ上のセルに移動させるということでしょうか? そうです。 マクロではこう組むのですね。 使ってみたいと思います。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A