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

Kopieren naar eerste lege rij.

Status
Niet open voor verdere reacties.
Is dit een nieuwe macro, waarbij de gegevens dus gekopieerd worden naar bv blad(Declaraties Kort)?
 
aanpassing van de macro van Harry. De aangepaste regel is rood. Het laat zien hoe je specifieke kolommen kunt copieren zonder al te veel aanpassingen aan het origineel van Harry
 
Dank je Wampier.

Mathijs.
Misschien gemakkelijk om de eigenschappen van onderstaande te weten.

Offset(rij, kolom)
Cells(rij, kolom)
Resize(rij, kolom)
Cells(Rows.Count, 1) → telt het aantal rijen van kolom 1 (Excel 2003 → 65536 rijen, Excel 2007 → 1048576 rijen)
 
waar vind ik nu alle antwoorden en gegevens terug?

Ik zie namelijk nergens meer de nieuwe macro met de rode opmerkingen meer.
Deze heb ik helaas niet gekopieerd in mijn bestand.
Ik heb alleen de allereerste. Wel heb ik aparte macro gemaakt om de bedoelde kolommen te kopieren naar blad Declaraties Kort, werkt perfect.
Nadeel bij de macro HSV is het gegeven dat erna de gegevens in de kolommen A tot en met D zijn leeggemaakt en ik die dus niet meer kan zien, zou ik later bij de andere macro weer kunnen gebruiken.
Dus gaarne de complete HSV macro nog eens met die rode opmerkingen erbij, zodat ik deze weer even kan kopieren naar mijn bestand en zal dan zelf eens proberen of ik die 2 macro's kan samnevoegen tot 1 macro, waarbij er dus gelijktijdig naar blad Alle Ingevoerde Declaties en Blad Declaraties kan worden gekopieerd.
Door meldingen en vragen op de macro Nieuw Invoerscherm Maken, worden toch alle gegevens van het blad verwijderd behalve de vaste gegevens.
Langzaam maar zeker begint het te dagen, dankzij jullie steun.

Als het mij eventueel is gelukt probeer ik het bestand naar jullie toe te sturen, via die andere mogelijkheid om een bestand te uploaden, ben helaas de naam hiervan vergeten.

Math
 
Mathijs,

zie hier:

Code:
Sub HSV()
  With Sheets("Invoer declaratie(s)")
   [COLOR="red"]laag = .Range("A5000").End(xlUp).Row

   Union(.Range("A2:G" & laag), .Range("T2:U" & laag), .Range("AD2:AG" & laag)).Copy Sheets("Alle ingevoerde declaraties").Cells(Rows.Count, 1).End(xlUp).Offset(1)[/COLOR]
   
   .Range("E2") = .Range("A31").End(xlUp).Offset(1, 4)
   .Range("A2:D" & .Range("A31").End(xlUp).Row).ClearContents
  End With
End Sub
 
Laatst bewerkt:
Als ik het zo lees Haije, zouden deze twee regels er uit moeten, of in ieder geval de onderste.

Code:
.Range("E2") = .Range("A31").End(xlUp).Offset(1, 4)
   .Range("A2:D" & .Range("A31").End(xlUp).Row).ClearContents
 
Bedankt voor de reactie op mijn vraag

Voor wat betreft het niet laten verdwijnen van de gegevens is het inderdaad voldoende om alleen de laatste regel te wijderen.
Heb geprobeerd om de 2 macro's samen te voegen en dat is volgens mij goed gelukt.
Ben even aan het uittesten hiermee.

Als ik inlog op help.mij waar kan ik dan mijn vraag zien met de daarop eventueel binnengekomen reacties. Als ik deze site verlaat doe ik dat zonder uit te loggen, misschien als ik uitlog en opnieuw inlog dat ik dan wel mijn vraag kan zien, maar weet dat niet zeker.

Zo ver ik het nu kan bekijken is mijn probleem opgelost en zou de vraag als afgehandeld kunnen worden beschouwd, maar dat doe ik nadat ik alles heb uitgeprobeerd.

Is er een andere manier om met jullie in contact te komen?

Groetjes Math

Nogmaals bedankt voor de super ondersteuning.
 
Ga naar naar het forum en bovenin heb je "directe links", dan kies je "geabonneerde vragen". Overigens ben je niets kwijt. als je onder de onderste post kijkt zie je dat er twee pagina's zijn. eerdere antwoorden vind je op pagina 1
 
Als dit venster op de achtergrond nog actief is (dus je hebt wat gesurft op www met een ander tabblad), en je keert weer terug naar hier (actief)?
Druk dan gewoon sneltoets F5: "Vernieuwen".
 
Hoi Harry,

Ik loop nog tegen een probleempje aan en wel het navolgende. Indien ik het nieuwe invoerscherm maak, laat ik automatisch het eerst volgende dcelaratienummer invullen op rij1 onder de desbetreffende kolom. In dit geval E2. Alvorens ik het nieuwe invoerscherm maak, moet het hoogste niet gebruikte declaratienummer in E34 worden genoteerd. In de macro voor het maken van het nieuwe invoerscherm geef ik in E2 aan =E34, vervolgens
E3 = E2+1, hierna kopieer ik E3 tot en met E31, hierdoor zijn dus de declaratienummers voor het nieuwe scherm bekend en komen ook mooi in het scherm te staan.
Edoch, als ik het hoogste niet gebruikte nummer noteer in E34 veranderden gelijktijdig alle nummers die op dat ogenblik in Kolom E cells 2 tem 31 gelijktijdig en dat is niet de bedoeling. De cellen E2:E31 mogen eerst veranderd worden nadat de macro is uitgevoerd.
Is dit probleen op te lossen op een gemakkeliijke manier?

Math
 
Na het uitvoeren van de code deed onderstaande dit al voor je in E2 (hoogste niet gebruikte nummer).
Code:
.Range("E2") = .Range("A31").End(xlUp).Offset(1, 4)
Dus vervalt het inbrengen van E34 bij de code van mij.
 
Harry, ga dat even uitproberen, er staat me bij dat dit dan inderdaad gebeurd. Probleem was echter dat ik toen niet zeker was of alles werkte en kon nagaan of de macro alles gedaan had wat hij moest doen. Tevens heb ik de macro een beetje aangepast zodat alles wat ik ergens naartoe wil kopieren ook inderdaad gebeurd.
Maak nu even een nieuwe macro, waarbij ik een andere naam geef maar wel met de code erbij,
.Range("E2") = .Range("A31").End(xlUp).Offset(1, 4)
.Range("A2:D" & .Range("A31").End(xlUp).Row).ClearContents

Je hoort van mij

Math
 
Er loopt iets fout bij mijn macro. Ik heb ingegeven het declaratienummer 12001. Verder is de rij2 helemaal gevuld, behalve AG2 (kolom dat betaald).
Als ik nu mijn macro uitvoer zonder een leeg scherm te maken, doet hij raar met het Declaratienummer bij het kopieren. Wat gebeurt er:
In Sheet (Alle Ingevoerde Declaraties) wordt inderdaad Declnr 12001 zichtbaar, in Sheet (Declaraties Kort) wordt zichtbaar Declnr 12002 en in
Sheet (Formulier voor Betaler) wordt zichtbaar DeclNr 12003, terwijl dit dus overal DeclNr 12001 zou moeten zijn, raar maar waar).
Misschien een fout in de macro?
Sub Uitproberen()
With Sheets("Invoer Declaratie(s)")
Range("A2:AG" & .Range("A31").End(xlUp).Row).Copy Sheets("Alle ingevoerde declaraties").Cells(Rows.Count, 1).End(xlUp).Offset(1)
.Range("E2") = .Range("A31").End(xlUp).Offset(1, 4)
End With
With Sheets("Invoer declaratie(s)")
laag = .Range("A5000").End(xlUp).Row
Union(.Range("A2:G" & laag), .Range("T2:U" & laag), .Range("AD2:AG" & laag)).Copy Sheets("Declaraties Kort").Cells(Rows.Count, 1).End(xlUp).Offset(1)
.Range("E2") = .Range("A31").End(xlUp).Offset(1, 4)
End With
With Sheets("Invoer declaratie(s)")
laag = .Range("A5000").End(xlUp).Row
Union(.Range("A2:G" & laag), .Range("AE2:AF" & laag), .Range("AE2:AG" & laag)).Copy Sheets("Formulier Betaler").Cells(Rows.Count, 1).End(xlUp).Offset(1)
.Range("E2") = .Range("A31").End(xlUp).Offset(1, 4)
End With
End Sub

Math
 
Zet de code graag tussen codetags (# button).
Wat jij doet is het overschrijven van de gegevens met je dubbele code.
 
Code:
Dit staat nu in codetags.
 
Dat was de bedoeling zodat jij je code daar graag tussen wil zetten in het vervolg.
Dat leest gemakkelijker weg.

Laat het maar eens in je bestandje zien met wat je doet.
 
Harry, ik begrijp echt niet wat je bedoeld. Volgens mij staan de codes toch tussen de ( ).
With Sheets("Invoer Declaratie(s)")
Range("A2:AG" & .Range("A31").End(xlUp).Row).Copy Sheets("Alle ingevoerde declaraties").Cells(Rows.Count, 1).End(xlUp).Offset(1)
.Range("E2") = .Range("A31").End(xlUp).Offset(1, 4)
of bedoel je het zo als hieronder
(#Range("A2:AG" & .Range("A31")#.#(End(xlUp).Row)#.#Copy Sheets("Alle ingevoerde declaraties")#.#Cells(Rows.Count, 1)#.#End(xlUp)#.#Offset(1)#

Wat wordt er eigenlijk bedoeld met Laag = Range(""A5000")
laag = .Range("A5000").End(xlUp).Row (weet niet wat met laag bedoeld wordt; .Range("A5000")zal wel kolomArij5000 zijn vermoed ik, dan omhoog kijken in rij van kolom A

Union(.Range("A2:G" & laag), .Range("T2:U" & laag), .Range("AD2:AG" & laag)).Copy Sheets("Alle ingevoerde declaraties").Cells(Rows.Count, 1).End(xlUp).Offset(1) Weet niet wat Union betekent maar waarschijnlijk het gebied(A2:G) en de hiervoor omschreven laag, + (AD:AG etc) Offset(1) naar rij1??
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan