• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Knoeien met Arrays

Status
Niet open voor verdere reacties.

Peter B

Gebruiker
Lid geworden
8 feb 2007
Berichten
672
Goedenavond,

Voor een "eigen" projectje lees ik een bestand in en ga hier mee rommelen. O.b.v. bepaalde voorwaarden worden regels uit elkaar getrokken, samengevoegd, etc. Ik had dit werkend met het werken op een sheet, maar dit duurde vrij lang (1 minuut voor 200.000 regels). Dus overgestapt naar Arrays.

Echter loop ik tegen een voor mij vreemd issue aan in het volgende stukje code:
Code:
    Set destXML = WS.Range("A1")
    Set destXML = destXML.Resize(UBound(arrXML), 1)
    destXML.Value = Application.Transpose(arrXML)

Het probleem is dat ik keurig zie dat UBound(arrXML) = 200.000. Als ik in "Locals" kijk naar de waarden van mijn variabelen, dan zie ik keurig dat alle velden in de array zijn gevuld. Na controle in de sheet zie ik vervolgens dat mijn sheet is gevuld tot/met regel 27.475 en dat vervolgens tot regel 200.000 alles #NA is geworden.

Wie heeft een idee wat hier fout gaat?

Overigens ... Mijn voorbeeldbestand is zelf gezipped te groot, dus als dit zonder kan zou dat mooi zijn.
 
MS is vergeten transpose aan te passen aan de nieuwe (2007) omvangdimensies van het Excel werkblad. (en de oude dimensie was het aantal kolommen van een werkblad).
Transpose is dus beperkt tot het aantal dat jij kreeg.
 
Dank je wel snb voor je snelle antwoord. Ik had je "VBA voor smarties" ook al uitgespit, en had idd. het vermoeden dat het in een maximum aantal zat, maar kon dat niet vinden.

Kijken of ik hier iets slims op kan verzinnen ...
 
Ik vraag me af, op bsais van je summiere code, of je transpose wel nodig hebt.
Vertel meer over wat je wil en de suggesties 'stromen' binnen. ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan