標題:
[發問]
請問如何條件式判斷(空值)及條件式複製
[打印本頁]
作者:
aseeddie
時間:
2011-5-18 02:44
標題:
請問如何條件式判斷(空值)及條件式複製
[attach]6245[/attach]請問如何條件式判斷(空值)及條件式複製
假設A欄位有200列,且資非連續性分佈
如何判斷儲存格是否為空值
如果不是則保留原數值
如果是"空值"則複製上一格儲存格數值
如附件:
自動判斷A1有數值保留不動
判斷A2為空值,則複製上一格儲存格的資料
判斷A3為空值,則複製上一格儲存格的資料
以此類推,共200列
請高手教導,萬分感謝
作者:
aseeddie
時間:
2011-5-18 04:27
想了一個晚上終於已解出
請個位高手參考看看
是否有更高級的解法
Sub macro1()
Dim i As Integer
For i = 1 To 200
If Cells(i, 1) = "" Then
Cells(i, 1) = Cells(i, 1).Offset(-1, 0)
End If
Next i
End Sub
作者:
GBKEE
時間:
2011-5-18 08:45
回復
2#
aseeddie
你的程式碼是最簡短的,但資料量大時會較費時的
Sub Ex1()
Dim Rng As Range
Set Rng = Range("A1")
Do
If Application.CountA(Range(Rng, Rng.End(xlDown).Offset(-1))) = 1 Then
If Rng.End(xlDown).Row = Rows.Count Then
Range(Rng, Cells(200, "a")) = Rng
Exit Do
End If
Range(Rng, Rng.End(xlDown).Offset(-1)) = Rng
End If
Set Rng = Rng.End(xlDown)
Loop
End Sub
複製代碼
Sub Ex2()
Dim Rng As Range, Ar(), i%
Set Rng = Range("A1")
Ar = Rng
For i = 2 To UBound(Ar)
If Ar(i, 1) = "" Then Ar(i, 1) = Ar(i - 1, 1)
Next
Rng = Ar
End Sub
複製代碼
作者:
Hsieh
時間:
2011-5-18 09:01
編輯/到/特殊/空格
With Range([A1], [A65536].End(xlUp))
.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
.Value = .Value
End With
作者:
GBKEE
時間:
2011-5-18 13:24
編輯/到/特殊/空格
Hsieh 發表於 2011/5/18 09:01
唉 早上起來,還沒睡飽!!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)