sandra1978
Gebruiker
- Lid geworden
- 21 feb 2011
- Berichten
- 64
Hallo,
Ik ben nog een groentje met VBA, heb net een 3-daagse cursus gevolgd, en zit vast met het volgende:
Ik wil dat er uit een document bepaalde data worden gekopieerd naar een nieuw document. Dit nieuwe document wordt aangemaakt en krijgt een naam op basis van de celinhoud uit een lijst. Dit wordt telkens herhaald voor het volledige lijstje.
Het lukt mij dit te doen wanneer ik de data kopieer naar nieuwe tabbladen binnen het document, dan kan ik juist refereren. Dat is uiteindelijk niet wat ik wil, dan zit ik met enorm veel tabbladen.
Ik wil nieuwe documenten aanmaken, maar het lukt me niet om te refereren naar het nieuw aangemaakte werkblad (met dus een dynamische naam).
Dus het komt erop neer dat ik niet weet wat ik moet gebruiken om te refereren naar een nieuw bestand, met een dynamische naam, dat ik net met VBA heb aangemaakt.
Ik denk dat ik eerst nog het nieuw aangemaakt workbook moet definiëren, maar geen idee hoe...
Hieronder vind je de VBA code
In bijlage het gebruikte document.
Alvast bedankt voor de hulp
Ik ben nog een groentje met VBA, heb net een 3-daagse cursus gevolgd, en zit vast met het volgende:
Ik wil dat er uit een document bepaalde data worden gekopieerd naar een nieuw document. Dit nieuwe document wordt aangemaakt en krijgt een naam op basis van de celinhoud uit een lijst. Dit wordt telkens herhaald voor het volledige lijstje.
Het lukt mij dit te doen wanneer ik de data kopieer naar nieuwe tabbladen binnen het document, dan kan ik juist refereren. Dat is uiteindelijk niet wat ik wil, dan zit ik met enorm veel tabbladen.
Ik wil nieuwe documenten aanmaken, maar het lukt me niet om te refereren naar het nieuw aangemaakte werkblad (met dus een dynamische naam).
Dus het komt erop neer dat ik niet weet wat ik moet gebruiken om te refereren naar een nieuw bestand, met een dynamische naam, dat ik net met VBA heb aangemaakt.
Ik denk dat ik eerst nog het nieuw aangemaakt workbook moet definiëren, maar geen idee hoe...
Hieronder vind je de VBA code
Code:
Dim oplbereik As Variant
Dim oplrooster As Variant
Workbooks("uurrooster_vba test.xlsx").Activate
Sheets("bereiken").Activate
For Each oplbereik In Worksheets("bereiken").Range(Range("m2"), Range("m1").End(xlDown))
Workbooks.Add
ActiveWorkbook.SaveAs (oplbereik.Value)
Workbooks("uurrooster_vba test.xlsx").Activate
Worksheets("rooster").Activate
For Each oplrooster In Worksheets("rooster").Range(Range("b5"), Range("b4").End(xlDown))
If LCase(oplrooster.Value) = LCase(oplbereik.Value) Then
oplrooster.EntireRow.Copy [B]workbooks(oplbereik)[/B].Sheets("blad1").Range("a1000000").End(xlUp).Offset(1, 0) 'op deze lijn zit ik dus vast met workbooks enz....
End If
Next
Next
End Sub
In bijlage het gebruikte document.
Alvast bedankt voor de hulp