確定兩個的變量,所以我已經做了搜索發現了一些和扮演和小一個很好的協議。我似乎無法讓這些循環充分發揮作用,我可以得到一部分或另一部分,但不是全部。正如第一個循環工作正常,那麼它會變得詭異。VBA EXCEL多重嵌套for循環是設置表達
T
是用於表達輸出t.Value = time1 - time2
Y
目的地是一個設定的時間和日期不改變= time1
X
是時間和日期,並且必須從範圍中提取在相同的列作爲對應y
。 x= time 2
我已經上傳我的工作簿
https://docs.google.com/open?id=0BzGnV1BGYQbvMERWU3VkdGFTQS1tYXpXcU1Mc3lmUQ
我與條件退出重新安排用於循環起到相應的部分。我甚至考慮過試試goto,直到我注意到由它提到的大量的屍體。
我願意和感激的任何建議或方向。我注意到幾種語言有退出和繼續選項,但它不會出現VB呢?
這裏是循環我有我已經剝離出來,而試圖得到它的工作我搞得一團糟。
Sub stituterangers()
Dim dify As Boolean
Dim difx As Boolean
Dim time2 As Date
Dim time1 As Date
For Each t In range("d7:cv7")
For Each x In range("d8:cv11")
If x > 0 Then time2 = x
For Each y In range("d2:cv2")
time1 = y
t.Value = time1 - time2
t = 0
Next y
Next x
Next t
End Sub
Sub stituterangersNEW()
Dim t As range
Dim x As range
Dim dify As Boolean
Dim difx As Boolean
Dim time2 As Date
Dim time1 As Date
On Error Resume Next
'Looping through each of our output cells.
For Each t In range("d7:cv7")
For Each y In range("d2:cv2")
If t.Column = y.Column Then
time1 = y.Value
If y = 0 Then Exit Sub
End If
For Each x In range("d8:cv11")
'Check to see if our dep time corresponds to
'the matching column in our output
If t.Column = x.Column Then
If x > 0 Then
time2 = x.Value
t.Value = time1 - time2
Exit For
End If
End If
Next x
Next y
Next t
End Sub
謝謝你的回覆。這有助於我瞭解條件退出如何與我的想法一起工作,也許我的做法是不正確的。有了這個以及我無法讓循環同步的代碼。 我將使用列D作爲示例在列d中,我有 1個單元輸出,將= t 1個單元格用於y與時間 X由4個單元格d8,d9,d10,d11組成, d列中循環的一個值。 – PCGIZMO 2012-03-14 12:41:27
實質上我需要...設置對應的y值在列d,通過4個細胞搜索x的值,一旦T被計算的I需要挑選了整個事情了其移動到下一列目前列計算T. d通過簡歷。我的方法是否正確?我在想,用這種方法和X掃描列,然後行而不是行,然後下一列也將是一個問題。自98,99以來,我沒有做很多的編程工作,那是qbasic。所以我很興奮 – PCGIZMO 2012-03-14 12:41:47
@PCGIZMO'啊,我從QB開始回來的時候。 :-)'你可以在你的問題中發佈你的數據和你期望從中得到的輸出的例子嗎?我認爲這會對我有所幫助,因爲我仍然不能100%確定我知道你想要得到什麼。你是否試圖將d-cells的值設置爲相同的值(y的值)? – Gaffi 2012-03-14 13:30:50