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

excel formulier maken

Status
Niet open voor verdere reacties.

webm

Gebruiker
Lid geworden
22 okt 2006
Berichten
70
Hallo allemaal,

ik bezig met het uitvinden van hoe kan ik een formulier in excel bouwen met behulp hier en daar ingebouwde vba codes. Ik ben al aardig op weg, alleen ik krijg nu continue een foutmelding, maar heb geen idee waar de fout precies ligt.
Wie kan mij helpen?

zie bijgaand voorbeeld.Foutmelding.jpgBekijk bijlage testformulier2.xlsm
 
Je gebruikt twee keer private sub. Bij de variabele irow gebruik je geen afbreekstreepje. Je gebruikt if zonder end if. Een exit sub net voor een end sub heeft geen nut. Meer weet ik even niet;)

Code:
Private Sub cmdToevoegen_Click()
  Dim iRow As Long
  iRow = Sheets("Blad2").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
  If Trim(Me.TxVvEnaam.Value) = "" Then
    Me.TxVvEnaam.SetFocus
    MsgBox "gelieve een VvE Naam in te voeren"
  End If
End Sub
 
Dit veroorzaakt de melding over een onbekend gegevenstype:
Dim ws As Worsheet

Waarbij Worsheet het onbekende type is.
Daarnaast alles wat VenA zegt.
 
Vervang je code door wat VenA plaatste.
De code hoort in de formulier sectie, dus achter de Userform.
 
De code in #2 doet niet zo heel veel.

Ik neem aan dat dit de bedoeling is.
Code:
Private Sub cmdToevoegen_Click()
  If Trim(TxVvEnaam.Value) = "" Then
    TxVvEnaam.SetFocus
    MsgBox "gelieve een VvE Naam in te voeren"
   Else
    Sheets("Blad2").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 5) = Array(CDate(txdatum.Value), TxVvEnaam.Value, TxRisicoadres.Value, Txcontactpersoon.Value, TextBox1.Value)
  End If
End Sub
 
Jou kennende ging ik er blindelings van uit dat het al compleet was. Niet eens gekeken dus ;)
 
Je gebruikt twee keer private sub. Bij de variabele irow gebruik je geen afbreekstreepje. Je gebruikt if zonder end if. Een exit sub net voor een end sub heeft geen nut. Meer weet ik even niet;)

Code:
Private Sub cmdToevoegen_Click()
  Dim iRow As Long
  iRow = Sheets("Blad2").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
  If Trim(Me.TxVvEnaam.Value) = "" Then
    Me.TxVvEnaam.SetFocus
    MsgBox "gelieve een VvE Naam in te voeren"
  End If
End Sub

Ik wel.
Wat gaan we doen in de code met "iRow"?
"Me" is overbodig.
 
Laatst bewerkt:
hoi edmoor, bedankt voor je link, het is beetje jammer dat het in het engels is. Mijn engels is helaas slecht :(.

Dotchie, is heel interessant! hier kan ik van alles eens proberen.

VenA dat is de juiste vba code, deze werkt.

Ik ga me even verder in verdiepen.

Ik wil namelijk dat zodra ik excel bestand open, direct die formulier naar voren komt en dat een ieder deze kan invullen. Hierna de mogelijkheid heeft om hier een soort word document te maken of direct een pdf bestand van de betreffende formulier. Want het formulier moet opgestuurd worden uiteindelijk. Maar de gegevens die invoer in het formulier wil ik ook bijhouden in het excelbestand. Zodoende dat ik even aan het "bestuderen" ben wat je kan met excelformulieren. Snappen jullie een beetje wat ik wil? Als jullie ideeën hebben, graag!! en anders als jullie een voorbeeld willen laat het me weten want ik heb zoiets gemaakt maar is nog niet compleet :)

mvg
 
hoi edmoor, bedankt voor je link, het is beetje jammer dat het in het engels is. Mijn engels is helaas slecht :(

Dan zal je er toch wat aan moeten doen want heel VBA is alleen maar Engels.
 
@ webm, post je bestandje met wat je al hebt (met wat Jan en Katrien gegevens)
en maak duidelijk wat je wilt bereiken. Dan maak ik wel een iets.
Maar als je VBA wilt leren en no speekie Inglesie,oei,oei :eek: problem,big big problem
 
reactie

Hier dan even een voorbeeld. formulier is nog lang niet aan de mooie opmaak, maar dat komt vast nog wel goed. Het gaat mij vooral om of ik vanuit zo'n formulier, zowel een database kan opbouwen, dus ieder ingevoerd record wordt samengevat in werkblad tabel gegevens. Hierna zou ik het handig vinden als ik vanuit excel zo'n opdracht formulier kan uitdraaien / in pdf kan krijgen met dan wel mooie opmaak. als ik nu vanuit excel pdf laat maken cel je allerlei vakken van de formulier zeg maar.

Ik ben benieuwd wat we hiermee kunnen.Bekijk bijlage Test voorbeeld.xlsmBekijk bijlage sjabloon opdrachtformulier.docx
 
Het is het makkelijkst om een werkblad op te maken voor afdrukken/PDF met de info van het formulier. EN als je toch een werkblad hebt opgemaakt is het misschien ook wel simpeler om de gegevens direct in het werkblad in te voeren en te kopieren naar het data blad, heb je dat hele userform niet nodig :) Gebruik opmaak en gegevensvalidatie om je invoerscherm eenvoudig en handig in het gebruik te maken.
 
Na lang denken, kwam ik op het volgende idee. formulier maken met vba waar ik al mee bezig was, deze afronden. En dan een word bestand maken met samenvoegveld en die laten koppelen met database. vanuit word geef ik gewoon aan welke record gegevens deze moet opnemen, en dan kan ik nog altijd een mooi pdf bestand maken.
 
@ webm,
Na lang denken
Volgens mij is uw denker oververhit:confused:
Relax, ik maak morgen wel een voorzetje. want zo: eerst afronden dan Word en dan koppelen met database en dan een mooi PDF, zo steven je recht op een hartaanval af.:shocked:
 
Dothiejack, meen je dit nou? dacht dat ik zo goed bezig was....
 
@ webm,
Ik zeg niet dat je niet goed bezig bent, je probeert diverse (VBA) zaken uit,dat kan ik alleen maar toejuichen.:thumb:
Het is alleen, met wat jij wilt bereiken hoef je Word er niet bij te halen.
Wat ik wil zeggen is:
Opdrachtformulier invullen, in database opslaan en PDF aanmaken kan met één druk op een knop in Excel.
(relax, ik heb al een opdrachtformulier en de database klaar , straks nog een userform en morgen wat code en je hebt je voorzetje)
 
oke gelukkig, ik blijf relax :)
ondertussen blijf ik oefenen met vba codes :)
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan