0

空白のセル情報を取得するためのコードを記述しましたが、問題は、空白の呼び出しの前にあるデータをコピーしたいということです。空白のセルの後に値がある場合があります。これが私のコードです:

Set rng = Range("6:6").Find(What:=horiz, LookIn:=xlValues, LookAt:=xlWhole)    
If rng Is Nothing Then
    MsgBox "Value not found in row 1", vbExclamation
Else
    rng.EntireColumn.Copy
    Range("p1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    MsgBox Range("C1").End(xlDown)(2, 1).Value
4

1 に答える 1

4

私はあなたのデータセットを実際に見ることができないので、これが防弾であるとは言い難いですが、あなたの投稿が言っていることから、これはあなたが必要としているものかもしれません。

変化する

rng.EntireColumn.Copy(列全体をコピーします)

Range(rng, rng.end(xlDown)).Copy見つかった範囲から空白の前の最後のセルまでの範囲をコピーします。

見つかった範囲より上のすべてのセルを、上の空白が見つかるまでコピーし、下のすべてのセルをコピーする場合は、次のように記述します。

Range(rng.End(xlUp), rng.End(xlDown)).Copy

于 2012-09-14T13:28:28.497 に答える