0

特定の列で上の行が空の場合、ある行から上の行に値またはテキストをカットアンドペーストできるマクロを開発しようとしています。(できればその後の空行は削除したいです。)

4137274 20120604 41.6 10.83 公差超過
4137279 20120604 税コードがありません
                   55.9 -0.04    
4137271 20120604
                  111.8 -11.26 公差超過
4137325 20120604 税コードがありません
                  130.72 0   
4139318 20120605 65.36 0 税コードがありません
4139114 20120605
                  223.6 -22.54 公差超過
4139279 20120605
                  111.8 111.8 公差超過
4139151 20120605 65.36 65.36 GR は存在しません
4140802 20120605 27.95 -0.02 税コードがありません
4140732 20120605 27.95 27.95 GR は存在しません

上記のとおり、一部の価格は次の行にあります。大量のデータを扱う必要があり、すべてを手動でカット アンド ペーストすることはできません。マクロなどでこれを行う方法はありますか?

4

1 に答える 1

2

マクロを作成せずに、疑似コードとポインタをいくつか示します。

  1. 選択範囲をセル A1 に移動します
  2. 空のセルをテストする
    1. 空の場合、実行Selection.Delete Shift:=xlUpしてインクリメントしますempty counter
    2. 空でない場合は、ゼロempty counterにして下に移動します
  3. empty counter10 (またはその列にデータが存在しないことを示す数値) に達したら、ループから抜け出します。
  4. 選択範囲を B1 に移動して繰り返します
  5. 列Cなどについて繰り返します。

値を移動するために切り取り/貼り付けを行う代わりにSelection.Delete Shift:=xlUp、空のセルを破棄し、その下のすべてを 1 セル分上に移動します。セルが1つしか選択されていない場合、他の列には影響しません。

于 2012-08-07T18:16:50.717 に答える