globe
Verenigingslid
- Lid geworden
- 18 mrt 2001
- Berichten
- 3.584
Ik heb een Excel lijst waar meerdere tabbladen in zitten, dit varieert van 5 tot 40.
Nu gebruik ik onderstaande code om deze allemaal (behalve de eerste) te kopieren naar een tabblad genaamd order1.
Dit tabblad gebruik ik dan vervolgens weer om een complete sheet met alle data te hebben zodat ik de rest weg kan gooien.
Ik ben fan van alle data in 1 sheet.
het probleem is dat niet alle sheets hetzelfde opgebouwd zijn, de eerste 5 kolommen kunnen varieren, kolom F is echter altijd hetzelfde.
Dus wanneer "F" een waarde bevat moet de regel uit de sheet naar de sheet Order1 gekopieerd worden.
In het voorbeeld zijn bv bij de tab MANNEN niet alle artikelnummers in Kolom A gevuld.
Onderstaand script kijkt echter naar de eerste kolom. Als daar een waarde staat wordt de regel wel gekopieerd, staat daar niks wordt de regel niet gekopieerd.
Hoe kan ik de code aanpassen zodat er naar kolom 6 "F" wordt gekeken?
Oh ja... er staan ook lege regels tussen de data. Deze hoeven eigenlijk meegenomen te worden. Onderstaand script doet dat niet.
En wat eigenlijk nog een vele mooiere oplossing zou zijn is dat alleen kolommen F, O, P en Q worden gekopieerd naar de sheet Order1
Mijn dank is groot!
Nu gebruik ik onderstaande code om deze allemaal (behalve de eerste) te kopieren naar een tabblad genaamd order1.
Dit tabblad gebruik ik dan vervolgens weer om een complete sheet met alle data te hebben zodat ik de rest weg kan gooien.
Ik ben fan van alle data in 1 sheet.
het probleem is dat niet alle sheets hetzelfde opgebouwd zijn, de eerste 5 kolommen kunnen varieren, kolom F is echter altijd hetzelfde.
Dus wanneer "F" een waarde bevat moet de regel uit de sheet naar de sheet Order1 gekopieerd worden.
In het voorbeeld zijn bv bij de tab MANNEN niet alle artikelnummers in Kolom A gevuld.
Onderstaand script kijkt echter naar de eerste kolom. Als daar een waarde staat wordt de regel wel gekopieerd, staat daar niks wordt de regel niet gekopieerd.
Hoe kan ik de code aanpassen zodat er naar kolom 6 "F" wordt gekeken?
Oh ja... er staan ook lege regels tussen de data. Deze hoeven eigenlijk meegenomen te worden. Onderstaand script doet dat niet.
Code:
aantaltabs = Application.Sheets.Count
Dim j, iWS As Integer
For iWS = 2 To aantaltabs
For j = 1 To Sheets(iWS).Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("order1").Range("A65536").End(xlUp).Offset(1).EntireRow.Value _
= Worksheets(iWS).Cells(j, 1).EntireRow.Value
Next j
Next iWS
En wat eigenlijk nog een vele mooiere oplossing zou zijn is dat alleen kolommen F, O, P en Q worden gekopieerd naar de sheet Order1
Mijn dank is groot!
Bijlagen
Laatst bewerkt: