Ik loop vast op de snelheid waarmee excel kopieert. Ik lees een bepaald bestand in, dat wil ik vervolgens gaan sorteren op verschillende andere sheets. Daartoe laat ik excel door de sheet zoeken en bepaalde cellen kopieren naar andere cellen in een andere worksheet.
Maar dit gaat dus veeeeeeel te langzaam, ik heb ook geprobeerd om eerst een array te vullen en als die vol zit weg te schrijven maar dit maakt voor de snelheid ook niets uit.
Het gaat over enkele tienduizenden cellen en ik heb hem nog nooit tot het eind kunnen laten doorlopen.
Een deel van de code zoals ik deze nu gebruik:
Edit:
Al vast bedankt voor jullie reacties en sorry voor mijn slechte topic.
De code heb ik veranderd naar de versie zonder dat ik het in een array gooi.
Nog even als toevoeging. Het zoeken gaat relatief snel, maar ik zal Find en Find next uitproberen. Ik weet verder niet hoe ik het zonder offset zou moeten regelen omdat ik de range waar het naartoe moet niet van te voren weet
Een range kopieren is niet mogelijk omdat de gevonden waarden niet onder elkaar staan. Er miste een regel in de code
Maar dit gaat dus veeeeeeel te langzaam, ik heb ook geprobeerd om eerst een array te vullen en als die vol zit weg te schrijven maar dit maakt voor de snelheid ook niets uit.
Het gaat over enkele tienduizenden cellen en ik heb hem nog nooit tot het eind kunnen laten doorlopen.
Een deel van de code zoals ik deze nu gebruik:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
| Sub organize() Node = 1 For n = 1 To 60000 If Range("A1").Offset(n, 0).Value = "NODE" Then Range("C1:E1").Offset(n, 0).Value.copy Worksheets("nodes").Range("B1:D1").Offset(Node, 0).Value Node = Node + 1 End If Next n End Sub |
Edit:
Al vast bedankt voor jullie reacties en sorry voor mijn slechte topic.
De code heb ik veranderd naar de versie zonder dat ik het in een array gooi.
Nog even als toevoeging. Het zoeken gaat relatief snel, maar ik zal Find en Find next uitproberen. Ik weet verder niet hoe ik het zonder offset zou moeten regelen omdat ik de range waar het naartoe moet niet van te voren weet
Een range kopieren is niet mogelijk omdat de gevonden waarden niet onder elkaar staan. Er miste een regel in de code
[ Voor 39% gewijzigd door Verwijderd op 10-09-2007 10:48 . Reden: Toch apart hoe veel mensen wel de [small]-tag weten te vinden, maar niet de [code]-tag. :P ]