• 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 starten in eerst volgende lege row

Status
Niet open voor verdere reacties.

smvrolijk

Gebruiker
Lid geworden
15 mrt 2010
Berichten
26
Hoi,

Ik heb hier eerder mee op het forum gestaan, maar ik kom er nog niet aan uit.
Ligt aan mij, voor de duidelijkheid :confused:

Ik heb 2 verschillende files, file A en B.
Wekelijks wordt er vanuit een ERP systeem een hoeveelheid gegevens gedownload naar file A. (zie bijlage A).
Via een macro wil ik er voor zorgen dat deze gegevens in file B komen.
Daar waar file A iedere week alleen de data bevat van de voorgaande week, bevat file B de data van alle afgelopen weken; iedere week wordt dus toegevoegd aan file B. (zie bijlage B)

De vraag:
Hoe geef ik aan in de macro dat de data uit file A, op de eerst volgende lege row in file B komt te staan? Dat betekent dus dat iedere week de lege row in file een ander row nummer is.
Zie file A en B als voorbeeld.

In totaal hebben beide sheets origineel 40 sheets, dus ik wil voorkomen dat alle gegevens iedere week met handmatig copy-past moeten worden overgezet. :eek:

Wie weet voor mij de oplossing?

dank je wel

gr
sander
 

Bijlagen

  • A.xlsx
    9,2 KB · Weergaven: 15
  • B.xlsx
    12,3 KB · Weergaven: 17
smvrolijk, Ik heb niet je bestandjes bekeken, maar met de coderegel...
Code:
Cells(Rows.Count, 1).End(xlUp).Offset(1)
...kan je eerste de beste lege regel aan de onderkant van je tabel vinden. Kan je hier verder zelf je puzeel afmaken?

Groet, Leo
 
Code:
Sub tst()
Sheets("N600077").Range("A2:D" & Cells(Rows.Count, 1).End(xlUp).Row).Copy _
        Workbooks("B.xlsx").Sheets("N600077").[A65536].End(xlUp).Offset(1)
End Sub
 
Hoi Rudi,

Dank je wel voor je antword.
Maar I am going nuts..... compileerfouten......

Sub Macro1_test()
'
' Macro1_test Macro
'
' Sub tst()
Sheets("N600077").Range("A2:D" & Cells(Rows.Count, 1).End(xlUp).Row).Copy _
Workbooks("B.xlsx").Sheets("N600077").[A65536].End(xlUp).Offset(1)
End Sub

Wat en hoe staat het hier fout?
Dacht dat ik een gewoon een leek was..... blijkt dat zelfs daar nog degradaties bij bestaan
:eek:

please help, dank je

gr
sander
 
Zet de code in een standaardmodule in bestand A en zorg er ook voor dat Bestand B geopend is, anders werkt dit niet.
 
Warm bakkertje,

hoe eenvoudig het misschien voor jou was, you're a life saver......

tis me gelukt!

THX !

gr
sander
 
Zet je de vraag dan nog even op opgelost (rechts onderaan de pagina):thumb:
 
Hoi Rudi,

Schiet mij maar lek.

There is a very thin line between standing on the edge or getting over it.......

Daar waar ik enthusiast eerder op de dag je bedankte, schiet ik toch weer in ongeloof over mijn onkunde.....

je oplossing was
Sub tst()
Sheets("N600077").Range("A2:D" & Cells(Rows.Count, 1).End(xlUp).Row).Copy _
Workbooks("B.xlsx").Sheets("N600077").[A65536].End(xlUp).Offset(1)
End Sub

Werkend en wel. Echter...............
Nu waren de files A en B natuurlijk voorbeeld files.....

Echter als ik de namen van de daadwerkelijk files gebruik in de code.... doet tie helemaal niets. Althans niet zichtbaar. Maar krijg geen foutmelding.....

Originele naam van A.xlsx is Weekly Report Processing Department RAW DATA.xlsm
Originele naam van B.xlsx is Weekly Report Processing Department.xlsm

Als ik B dus aanpas naar de originele naam, gebeurt er nada noppes ......
En A2:D heb ik eengepast naar A2:G gezien er meerdere gegevens over moeten, maar volgens mij moet dat niet uitmaken....

Dit is dan dus de code.....
Sub Macro1_Weekly_Report_Processing_Departmen_Raw_Data_To_Real_1()
'
' Macro1_Weekly_Report_Processing_Departmen_Raw_Data_To_Real_1 Macro
'

'
Sheets("N600077").Range("A2:G" & Cells(Rows.Count, 1).End(xlUp).Row).Copy _
Workbooks("Weekly Report Processing Department.xlsm").Sheets("N600077").[A65536].End(xlUp).Offset(1)
End Sub

Kan ik maar gewoon pen en papier gaan pakken? :confused:

gr
sander
 
Laatst bewerkt:
Een aantal zaken, na veel, heel veel proberen zijn me nu eindelijk gelukt......

Maar in het voorbeeld praat ik over 1 sheet.......

hoe geef ik aan in de code dat hij deze handeling bij alle sheets moet doen?
code is nu
Sheets("N600077").Range("A2:H" & Cells(Rows.Count, 1).End(xlUp).Row).Copy _
Workbooks("Weekly Report Processing Department.xlsm").Sheets("N600077").[B65536].End(xlUp).Offset(1)
End Sub


als Sheet N600075 nu dezelfde aktie moet uit gaan voeren, hoe geef ik dit aan?

ik heb dit geprobeerd:

Sheets("N600077").Range("A2:H" & Cells(Rows.Count, 1).End(xlUp).Row).Copy _
Workbooks("Weekly Report Processing Department.xlsm").Sheets("N600077").[B65536].End(xlUp).Offset(1)
Sheets("N603078").Range("A2:H" & Cells(Rows.Count, 1).End(xlUp).Row).Copy _
Workbooks("Weekly Report Processing Department.xlsm").Sheets("N603078").[B65536].End(xlUp).Offset(1)
End Sub


maar dan voert hij alleen deze laatste sheet uit van N603078 uit en niet de eerste meer van sheet N6000077

hoe geef ik dit aan in de code?
heb nml uiteindelijk 40 sheets die dit moeten doen.....

dank jullie wel

gr
sander
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan