• 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.

Macro gevulde cellen binnen een bereik copy/paste in ander werkblad

  • Onderwerp starter Onderwerp starter xmir
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

xmir

Gebruiker
Lid geworden
12 mrt 2011
Berichten
218
Beste excel goeroe's,

Hoe kan ik middels een macro de gegevens uit het voorbeeld bestand: A7 tm C(93 in dit voorbeeld) de gevulde cellen behalve de rij "globaal totaal" copy/pasten in een ander werkblad? Het aantal rijen verschilt per dag.

Ik heb meer van dit soort exports die ik op dezelfde wijze moet overzetten naar een ander werkblad dus als ik deze macro heb dan kan ik die op meerdere zaken toepassen.

Alvast weer bedankt,
Groetjes Mirjam
Bekijk bijlage Forum voorbeeld.xls
 
Maak range("A94: D94") even echt leeg.
Wat er in staat is niet zichtbaar, maar delete even deze cellen.
Code:
Sub tst()
 With Sheets("MS_open_all_en_overdue_pe")
  .Range("A7:C" & .Cells(7, 1).CurrentRegion.Rows.Count).Copy Sheets("Blad1").Range("A7")
 End With
End Sub
 
Of
Code:
Sub tst()
With Sheets("MS_open_all_en_overdue_pe")
    eRow = .Columns(1).Find("Globaal totaal", , xlValues, xlWhole).Row
    .Range("A7:C" & eRow - 1).Copy Sheets("Blad1").Range("A7")
End With
End Sub
 
Beiden geven de foutmelding "het subscript valt buiten het bereik".
Foutopsporing geeft foutmelding op:

.Range("A7:C" & .Cells(7, 1).CurrentRegion.Rows.Count).Copy Sheets("Blad1").Range("A7")

Mogelijk moet ik "blad1" aanpassen?
 
Je moet eerst een blad genaamd 'Blad1' aanmaken.
 
Inderdaad...ik zie het maar nu moet de data niet in een nieuw blad (blad1) in het export bestand terecht komen maar in een ander werkblad (supp rap dagelijks.xls, tabblad "werkblad open" A2 tm C. Kan dat in dit script?
 
Code:
Sub Kopieren()
Worksheets.Add after:=Worksheets(Worksheets.Count)
Worksheets(1).Range("A7:C" & Worksheets(1).Range("C7").End(xlDown).Row).Copy Workbooks("supp rap dagelijks.xls").Worksheets("werkblad open").Range("A2")

End Sub

Met vriendelijke groet,


Roncancio
 
Laatst bewerkt:
Hoi Roncancio,

volgens mij is dit hem inderdaad!! Ik zie wel dat deze code ook een ander blad aanmaakt wat verder leeg blijft. Waarom is dat? (ik wil ook graag de code begrijpen)

thx Mirjam
 
Oeps foutje.
Ik had in 1e instantie de code aangemaakt zodat de gegevens in een ander blad worden neergezet. Dit werkblad zou dan dus automatisch aangemaakt kunnen worden.
Aangezien je de gegevens in een ander bestand wilt plaatsen, is deze regel overbodig geworden.
In onderstaande code heb ik het al verwijderd. De rest van de code is onveranderd gebleven.
Code:
Sub Kopieren()
Worksheets(1).Range("A7:C" & Worksheets(1).Range("C7").End(xlDown).Row).Copy Workbooks("supp rap dagelijks.xls").Worksheets("werkblad open").Range("A2")

End Sub

Met vriendelijke groet,


Roncancio
 
Great, thx. Hier ga ik verder mee stoeien voor de andere exports. Omdat ik in jou code niet de naam heb van het exportbestand: kan ik dezelfde code gebruiken in exportbestanden met een andere naam, uiteraard in de vorm van nieuwe macro's waar ik de range aanpas en de naam van het werkblad waar de data naartoe moet?
 
Ja dat kan.
De range hoef je niet aan te passen, tenzij je meer of minder kolommen wilt gebruiken.
De code pakt het bereik vanaf C7 tot de 1e lege cel in de C-kolom.

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan