2016-04-05 3 views
0

Benim gereksinim bir VBA koleksiyonunu yinelemek ve belirli bir koşulunu temel alarak aynı koleksiyondaki sonraki kayıtları güncellemektir. ÖrneğinYineleme ve VBA'da aynı Toplamayı Güncelle

"TMasterList" 4 kayıtların toplam topluluğudur Diyelim 2 rekor aşağıda döngüde işlenen alır iken, I (3. ve 4. kaydını güncellemek ve daha sonra döngü devam etmek yani bir süreç gerekiyor 3 ve 4).

For Each objEachTmapping In TMasterList 


Next 

Nasıl uygulanacağına dair öneriler. Gerekirse sınır kontrol endeksinin üzerinde

cevap

0

Döngü:

Dim i As Long, max As Long 
max = TMasterList.Count 

For i = 1 To max 

    TMasterList.Item(i).value = Foo 

    If i + 1 < max Then TMasterList.Item(i + 1).value = Bar 
    If i + 2 < max Then TMasterList.Item(i + 2).value = Qux 

Next 

Bu onun bir tür o yerinde değiştirilemez eğer, koleksiyonundaki bir referans olduğunu varsayar.

+0

, performansın bir sorun olmasına neden olur. Döngüyü "max - 2" ile sınırlar, "if" ifadelerini kaldırır ve hemen ardından yerleştiririm – user3598756