String maken en met button opslaan op sheet

Status
Niet open voor verdere reacties.

renew000

Gebruiker
Lid geworden
7 feb 2009
Berichten
151
Hallo,

Als beginnend VBA excel gebruiker loop ik nogal eens tegen foutjes van mijn kant op die ik niet kan ontdekken.
Probeer een code te maken voor een formulier waarbij ik voornaam, tussenvoegsel en achternaam wil samenvoegen in de eerste vrije regel op het tabblad "picklists". Er zijn 3 tekstvelden met de namen txtVoornaam, txtTussenvoegsel en txtAchternaam.
De knop waaronder de acties moeten worden uitgevoerd is cmdToevoegenMedewerker.

Mijn code heb ik hieronder gepost... wie o wie ziet de (waarschijnlijk voor de hand liggende) fout in mijn code :)

Alvast bedankt voor jullie moeite

greetz
Renew

Private Sub cmdToevoegenMedewerker_Click()

Dim txtVoornaam As String
Dim txtTussenvoegsel As String
Dim txtAchternaam As String
Dim Naam As String
Naam = "txtVoornaam" & " " & "txtTussenvoegsel" & " " & "txtAchternaam"

Dim irow As Integer
With Sheets("picklists")
irow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(irow, 1) = Naam.Value
End With

End Sub
 
Code:
Private Sub cmdToevoegenMedewerker_Click()
Dim irow As Integer
 With Sheets("picklists")
 irow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
 .Cells(irow, 1) = Me.txtVoornaam & " " & Me.txtTussenvoegsel & " " & Me.txtAchternaam
 End With
End Sub

probeer deze is
 
Laatst bewerkt:
Helemaal top Pasan,

Wel nog 1 vraagje... wat heb ik verkeerd gedaan in mijn code?

Ik zie iig dat ik mijn tekstvakken niet als string hoef te declareren, maar hoe zit dan met de .me?

nogmaal thanks

Greetz
 
ook ik ben een beginnend vba knutselaar en door proberen en proberen en proberen probeer ik dingen voor elkaar te krijgen
ik zou zeggen probeer het eens zonder de me. ervoor
als je dan foutmeldingen krijgt zoek je daarop verder en worden soms dingen duidelijk waarom dit of waarom dat
 
thanks voor de tip... ik ga dit topic nu sluiten dankzij jouw hulp

greetz
 
dit is voldoende:
Code:
Private Sub cmdToevoegenMedewerker_Click()
 Sheets("picklists").Cells(Rows.Count, 1).End(xlUp).offset(1) = txtVoornaam.text & " " & txtTussenvoegsel.Text & " " & txtAchternaam.Text
End Sub

Gebruik de eigenschap .text om de tekstvakken 'uit te lezen'.
Gebruik geen overbodige variabelen.
'Me.' geeft de 'container' van de tekstvakken weer; in dit geval een userform. Als de verwerkingscode (cmdToevoegenMedewerker_Click) ook in de codemodule van het userform van de tekstvakken staat hoef je 'Me' niet te gebruiken.
Je kunt, zoals je ziet, in VBA rechtstreeks naar een cel in een bepaald werkblad in een bepaald werkboek schrijven.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan