如何复制空白单元格之前的值

我写了获取空白单元格信息的代码,但问题是我想复制空白调用之前的数据。 空白单元之后可能有一个值。 这是我的代码:

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 

我不能真正看到你的数据集,所以很难说这是防弹的,但从你的post说,这可能是你所需要的。

更改

rng.EntireColumn.Copy (复制整个列)

Range(rng, rng.end(xlDown)).Copy将范围从find的范围复制到空白之前的最后一个单元格。

如果你想复制所有find的范围以上的单元格,直到find上面的空白单元格和下面的所有单元格,写下:

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