Ga naar inhoud

VBA om rijen toe te voegen in ander blad


mechanik

Aanbevolen berichten

hoi, ik heb mijn eerste stapje gezet richting VBA maar loop gelijk vast .... oftewel ben ik helemaal abuus oftwel ben ik een grote kluns ...

 

wat ik probeer is om alle gegevens die ik in mijn taxibons en oproepingsbons ingeef van die ook direct in een lijst te laten opnemen maar daar loopt het grandioos mis.

elke nieuwe bon die ik aanmaak moet in de lijst bijgevoegd worden (ter controle)

voor de taxibon moeten de gegevens in het tabblad "reden taxi" komen idem voor de oproeping maar dan in tabblad "reden oproeping"

kunnen jullie me "helpen" ?

 

ook heb ik ooit eens een werkblad gezien waar je op het eerste blad met drukknoppen de juiste tabbladen kon raadplegen waar vind ik die drukknoppen?

taxitest.xlsm

Link naar reactie
Delen op andere sites

De 'knoppen' die je zoekt, staan in de groep Besturingselementen, die in het menu bij het item Ontwikkelaars behoort. Onwikkelaars wordt standaard niet in het menu weergegeven. Voor weergave, kies in het menu: Bestand - Opties - Lint aanpassen, vink in de rechterkolom aan: Ontwikkelaars, en klik op Ok.

Onder zo'n knop kun je dan een macro vastleggen om een bepaald blad te selecteren, bv:

Sheets("Reden Taxi"). Activate

In je code gebruik je bv. "Blad2" en "Blad3" en "reden", terwijl de namen van die bladen "Taxibon", "Oproeping", en "Reden taxi" zijn. Als je namen van bladen wijzigt, dan moet je die ook in de code wijzigen, de code past zich nooit automatisch aan wijzigingen aan.
Om de gegevens die je in "Taxibon" en "Oproeping" invoert tegelijk met de invoer in andere bladen te laten opnemen, is niet aan te raden; dat vertraagt de werking van je bestand enorm. Beter is om "Taxibon" en "Oproeping" eerst helemaal in te vullen en daarna met een opdrachtknop op die bladen de inhoud naar het andere blad te kopiëren. Dat kopiëren is eenvoudig, bv:

Sheets("Reden Taxi").Range("A3").value = Sheets("Taxibon").Range("G1").value
Sheets("Reden Taxi").Range("B3").Value = Sheets("Taxibon").Range("F7").Value
enz.

De code is korter te maken door With...End With te gebruiken, en om de inhoud van 8 cellen te kopiëren kan ook een For-Nextlus worden gebruikt, maar om het eenvoudig te houden, doe ik dat nu niet.

 

aangepast door alpha
Correctie
Link naar reactie
Delen op andere sites

×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.