拆分/填充顶部和底部值的中间空白
我有一个由for循环运行的列。 有两行之间有空格,当第一个命中另一个(因为它检查值=“”),它停止。
它看起来像这样:
-First person -Second person
它应该是这样的:
-First person -First person -First person -First person -First person -Second person -Second person -Second person -Second person
码:
Sub FyllUtKjoenn() Dim sluttrad As Integer sluttrad = Cells(3000, 1).End(xlUp).Row For x = 5 To sluttrad If Cells(x, 1).Value = "" Then Cells(x, 1).Value = Cells(x - 1, 1).Value End If Next x End Sub
我不认为你会需要一个循环; 只是一点点math。 虽然你不会注意到工作表的一小部分,循环通过单个单元格的较大部分会减慢你的速度。
Sub fill_Intermediate() Dim rw1 As Long, rw2 As Long With Worksheets("sheet5") rw1 = 5 rw2 = .Cells(Rows.Count, 1).End(xlUp).Row 'alternate 'rw2 = .Cells(rw1, 1).End(xlDown).Row .Cells(rw1, 1).Resize(CLng((rw2 - rw1) / 2) + 1, 1).FillDown .Cells(rw2, 1).Offset(-CLng((rw2 - rw1) / 2) + 1, 0).Resize(CLng((rw2 - rw1) / 2), 1) = _ .Cells(rw2, 1).Value End With End Sub
sluttrad总是1,所以改变sluttrad = Cells(3000, 1).End(xlUp).Row
。 尝试
sluttrad = Cells.Find(What:="*", After:=[A1], _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row