|
>セルの値を消去
と言っても、クリアするのでなく"削除"するという意味ですね ?
となりの列からデータを持ってきて、なお
>そのときA列は1〜6000行までデ−タが入ってる
ということですからそのように解釈するとして、削除する範囲を選択し
以下のマクロを実行してみて下さい。選択範囲の条件は
1 必ず奇数列であること
2 列数は 1列のみ
3 選択範囲内に空白セルがない
ということになります。
Sub Data_Move()
Dim x As Long, y As Long
If TypeName(Selection) <> "Range" Then Exit Sub
With Selection
If .Columns.Count > 1 Then Exit Sub
x = .Column: y = .Rows.Count
If x Mod 2 = 0 Then Exit Sub
If x >= Cells(256).End(xlToLeft).Column Then Exit Sub
If WorksheetFunction.CountA(Selection) < .Cells.Count Then
Exit Sub
End If
Application.ScreenUpdating = False
.Delete xlShiftUp
End With
With Cells(1, x + 1).Resize(y)
.Copy Cells(65536, x).End(xlUp).Offset(1)
.Delete xlShiftUp
End With
Application.ScreenUpdating = True
End Sub
|
|