スクリプトを簡略化する作業をしていましたが、一番左側の空いている列まで範囲の列をコピーするスクリプトを作成したかったのです。その後、元の列を削除します。Excel VBAを使用して列を上書きして元の列を削除する
私はこのスクリプトを微調整して、私が欲しいものをほとんど見つけ出しました。すべてをコピーしますが、削除しません。
また、上記の列範囲内のどの行を参照するかを選択できるようにする必要があります。
誰かがスクリプトを見て、私が始めたことを終えるのを手伝ってもらえますか?私はExcel VBAをゆっくりと学びました。私の仕事は私が準備が整う前に複数の方向に前進していましたので、コピーと削除のオプションは単純にすべきですが、私の仕事のためにいろんなことを正しく学ぶ時間がなかったので、これは簡単な答えですが残念ですが、このスクリプトを可能な限りリーンにしておく必要があります。これは私が知っているものコードとヘルプのためのインターネット。
Option Explicit
Sub MoveColumns()
Dim cel As Range
With ActiveSheet
For Each cel In Intersect(.UsedRange, .[B:N]).SpecialCells(xlCellTypeBlanks).Cells
cel = cel.Offset(0, 1)
Next
End With
End Sub
ありがとうございます。
この
を試した後、私は一種の混乱したものとなどだデータが存在しないと仮定しています:)左に移動しますまさにあなたは試していますか?あなたは私に例を挙げることができますか? –
確かに...ここにExcelワークブックがあります。基本的には、行6に、次に列Bに、次にNに至るまで、そしてスペースがあれば、最も近い右の列を取って、最も左の空の列にデータをコピーして削除します。元のデータに戻り、移動する列がなくなるまで続けます。 ここには本のリンクhttp://dl.dropbox.com/u/3327208/Excel/DeleteColumn.xlsm –
だから、基本的にあなたはセルI5を削除したい:K193? M5:M193と同じプロセスを繰り返しますか?また、194行目以降のデータはどうですか? –