我有一個數據庫,其中包含臨時系統脫機引起的不同單元格中的「不適用」。 我用以下圖像顯示的公式填充這些「N/A」:Excel VBA - 使用可變範圍公式填充空數據庫單元格
正如您所看到的,A列的數據是累積的,B和C也是如此。「N/A」 s通過擴大第一個「N/A」之前的最後一個讀數與最後一個「N/A」之後的第一個讀數之間的差值來補償。「N/A」出現在不同的點並且具有不同的長度。
是否有一個vba代碼可以幫助我在整個數據庫中單擊一次? 謝謝你的親切幫助。
我有一個數據庫,其中包含臨時系統脫機引起的不同單元格中的「不適用」。 我用以下圖像顯示的公式填充這些「N/A」:Excel VBA - 使用可變範圍公式填充空數據庫單元格
正如您所看到的,A列的數據是累積的,B和C也是如此。「N/A」 s通過擴大第一個「N/A」之前的最後一個讀數與最後一個「N/A」之後的第一個讀數之間的差值來補償。「N/A」出現在不同的點並且具有不同的長度。
是否有一個vba代碼可以幫助我在整個數據庫中單擊一次? 謝謝你的親切幫助。
你可以嘗試運行此VBA代碼進行插值基於上面和下面號碼N/A
值:
Sub FillNA()
Dim rng As Range, col As Range, a As Range
Set rng = Cells.SpecialCells(xlCellTypeConstants, xlTextValues)
For Each col In ActiveSheet.UsedRange.Columns
If Not Intersect(rng, col) Is Nothing Then
For Each a In Intersect(rng, col).Areas
If a(1) = "N/A" Then
a(0).Resize(a.Count + 2).DataSeries Trend:=True
End If
Next a
End If
Next col
End Sub
(如果N/A
出現在範圍的開始或結束時,您將需要以決定如何處理這種情況並作出適當的調整)
哇這個作品難以置信的好!非常感謝!但是當我第二次運行它時(當所有的N/A被刪除)它會返回一個錯誤。此外,這段代碼非常棒,但我對excel vba真的很陌生,並且想了解您使用過的代碼行。你應該選擇我正在編寫的代碼。它比你的尺寸大10倍,但只適用於單個N/A,其頂部和底部的值爲 – user3171406
以vba開頭的一個好方法是打開宏記錄器。對於顯示的示例,您可以選擇範圍'A3:A6',然後選擇'填充>系列>趨勢(檢查)'以填充'A4:A5'中的N/A值。要選擇所有的N/A,請選擇Find&Select> Goto Special> Constants:Text'。代碼基於循環這些值,如果沒有N/As,您將收到一條錯誤消息。 –
VBA當然可以用來解決這個問題,但我認爲你需要明確你想要做的更清楚的事情。例如,你爲什麼看看B6和B3之間的N/A單元?是因爲你在A4和A5有N/A嗎?你說價值是累積的,但這對我來說並不是很清楚。 – Roberto
你嘗試過什麼嗎?如果是,發生了什麼:如果不是,那麼爲什麼不試一試,看看會發生什麼? –
哦,廢話先生我的錯誤,公式使用列A的單元格,而不是列B.這裏顯示的數據是功耗讀數,所以下一個單元格值包含從前一小時+指定小時的消耗的功耗。 – user3171406