これで良い検索ができました。私はこれらのループが完全に機能するようには見えないが、私は部分的または別の部分ではあるが完全ではない。最初のループがうまくいけば、それはうまくいく。VBA EXCEL複数のネストされたFORループは、式の変数を2つ設定します。
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を使用します。私は を出力するために1つのセルを出力します。 時間のあるyのセルを1つ返します。 Xは4つのセルd8、d9、d10、d11で構成され、列dのループの1つの値。 – PCGIZMO
本質的には対応するyの値を設定する列dでxの値を4つのセルで検索してTを計算する。Tが計算されると全体を選択して現在の列D CVを通じて。私は正しいアプローチをしていますか?私は、この方法とxの列を介して行を次に行の代わりに次の列をスキャンすることも問題になると思っています。私は約98,99からかなりのプログラミングをしていないし、それはqbasicにあった。だから私は羽を振っています – PCGIZMO
@PCGIZMO 'ああ、私はいつQBの方法で始めました。 :-) 'あなたの質問の中にあなたのデータの例とそれから受け取ると予想される出力を投稿できますか?私はあなたが何を得ようとしているのかまだわからないので、これが私を助けてくれると思う。 dセルの値をすべて同じ(yの値)に設定しようとしていますか? – Gaffi