我试了 这样不行啊 读到空格的时候就不读了 不能使他等于上一个单元格的值啊
追答选中工作表标签--右键--查看代码--复制粘贴下列代码---关闭VB编辑器
回到工作表中---ALT+F8 执行 A 的宏即可!
Sub A()
For i = 2 To 100
If Cells(i, 1).Value = "" Then
Cells(i, 1).Value = Cells(i - 1, 1)
End If
Next i
End Sub
我是这样写的,读取excel表格的第一列显示在list1中,当第二列的数据循环读完直到末尾循环结束,但是第一列中间有空格,想让空格的值等于上一个单元格的,为什么不行呢?读到空格就不显示了
Do While st.Cells(i, 2).Value ""
List1.AddItem st.Cells(i, 1).Value
If Cells(i, 1).Value = "" Then
Cells(i, 1).Value = Cells(i - 1, 1)
End If
i = i + 1
Loop
你这样写当然不行,cells(i,2)"" 执行 代码 LOOP (否则的话),停止循环。
你要先限定执行到哪里结束。
如
FOR i= 2 to [A65536].END(3).ROW (表示执行到A列最后一个不为空的行号截止)