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

Formulier troubles

Status
Niet open voor verdere reacties.

burley

Gebruiker
Lid geworden
24 apr 2011
Berichten
77
Ik heb een invulformulier gemaakt wat de gegevens wegschrijft naar een werkblad. Zo lang ik de knop voor dat formulier op het werkblad zelf heb staan is het allemaal geen probleem, maar ik wil graag die knop op het eerste werkblad.

Als ik dit nu doe, dan stuurt het formulier me elke keer naar het betreffende gegevensblad toe.
Code:
 sheets("voorblad").select

Is het mogelijk om dit aan te passen, zodat ik op het eerste blad blijf, maar mijn ingevoerde gegevens wel overgezet worden in de juiste tabellen/rijen?

zie voorbeeldbestand

Alvast bedankt voor de tijd en moeite!
 

Bijlagen

Vermijd select en activate in jouw code (is zelden nodig)

Code:
with Sheets("klantenlijst")

ipv

Code:
Sheets("klantenlijst").Activate
                    With activesheets
 
Bedankt voor je reactie!
Die heb ik ook geprobeerd, het probleem is alleen dat ie dan elke keer de eerste rij overschrijft en dat was nou net niet de bedoeling
 
Laatst bewerkt:
Dat er naar de verkeerde werkblad wordt verwezen komt doordat je niet verwijst naar werkblad Klantenlijst.
Dit kan je zeer simpel oplossen door een punt (.) voor de range te plaatsen.

Code:
    With Sheets("klantenlijst")
        x = .Cells(Rows.Count, "A").End(xlUp).Row + 1
        .Range("A" & x) = txtdatum

Voor zowel Cells (2e regel) als Range (3e regel) staat een punt en dat houdt in dat naar klantenlijst wordt verwezen.
Eigenlijk staat er dan in de code

1. Wat betreft klantenlijst
2. x = laatste rij (van klantenlijst dus!)
3. Cel ("A" x) van klantenlijst krijgt de waarde van txtdatum.


Dus stel je staat in Blad1 en je wilt in blad 2 wat neerzetten
Code:
With Blad2
      .Range("A1").Value = "Oke"

Laat je de punt weg dus...
Code:
With Blad2
      Range("A1").Value = "Oke"
...dan schrijf je nog steeds naar Blad1!


Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan