-2
我有這個問題:循環,以確定我的數據對
由於我與位置在這裏工作,每個位置是在一個對。我想遍歷整個列表並計算每個位置對的價值差異(所以我想找到損失或增益),並將其返回給另一個單元格。這裏第一個位置對的區別是14688,以下是另一個位置對。在這裏的一些真棒人的幫助下,我使用了Area
屬性,因爲我的數據結構是由空單元格分隔的非空單元格。但是,我需要一個代碼,考慮具有像下面這樣的連續非空單元格的數據,並將它們配對。
的第一個位置是在63排
Sub main()
Dim iPair As Long
Dim pairDiff As Variant
pairDiff = 1
With Worksheets("System 1")
With .range("T39", .Cells(.Rows.Count, "T").End(xlUp)).SpecialCells(xlCellTypeConstants, xlNumbers) '<--| loop through column "T" cells containing numbers from row 63 down to last not empty one
iPair = 1 '<--| initialize "pair" counter
Do While iPair < .Areas.Count '<--| loop through "pairs"
pairDiff = .Areas(iPair + 1).Offset(, 1) + .Areas(iPair).Offset(, 1)
.Areas(iPair + 1).Offset(, IIf(pairDiff < 0, 7, 8)) = pairDiff '<--| write "pair" difference in corresponding column "V" (if loss) or "W" (if gain)
iPair = iPair + 2 '<--| update "pair" counter by adding two not to mix "pairs"
Loop
End With
End With
End Sub
任何幫助嗎?如果你需要我具體的問題,我會相應地編輯它。謝謝。
你嘗試什麼嗎?我在問這是因爲您發佈的代碼是您之前的問題之一的答案... – RCaetano
您可以擴展您的示例嗎?也許通過向我們展示代碼運行之前和之後您期望看到的內容? –
@Rcaetano嗨,我不知道如何去做,因爲我是新來的VBA,所以我只手動移動細胞,道歉。 – jadeliew123