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

Probleem met knop definitie

Status
Niet open voor verdere reacties.

gvwezel

Gebruiker
Lid geworden
1 sep 2016
Berichten
31
Ik,ben vandaag halve dag bezig met deze knop op een userform
Het probleem dat ontstaat is dat als ik dit invoer en de knop gebruik hij automatisch naar onderste cel gaat .
Dus naar cel 1000284 ouzo.
De bedoeling was dat hij naar cel A3 zou gaan .
Dit heb ik van een YouTube uitleg.

Maar is er fout in ik denk iets met lastrow en active cell maar kom er niet uit.

Private Sub cmdSend_Click()
Range("A2").Select
ActiveCell.End(xlDown).Select
lastrow = ActiveCell.Row
'MsgBox lastrow
Cells(lastrow + 1, 1).Value = txtFirstName.Text
Cells(lastrow + 1, 2).Value = txtLastName.Text
Cells(lastrow + 1, 3).Value = txtMobile.Text
Range("A2").Select
txtFirstName.Text = ""
txtLastName.Text = ""
txtMobile.Text = ""
End Sub







Watch the Excel VBA training video below for all the details:
 
Als je code tussen codetags plaatst ziet het er zo uit:
Code:
Private Sub cmdSend_Click()
    Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 3) = Array(txtfirstname, txtlastname, txtmobile)
    txtfirstname.Text = ""
    txtlastname.Text = ""
    txtmobile.Text = ""
End Sub
Is een stuk toonbaarder toch?
Probeer de code in deze vorm eens uit en kijk of het beter werkt.
 
Bv.
Code:
[COLOR=#3E3E3E]Private Sub cmdSend_Click()[/COLOR]
[COLOR=#3E3E3E]  Cells(rows.count, 1).end(xlup).offset(1).resize(,3) = array(txtFirstName.Text,[/COLOR][COLOR=#3E3E3E] txtLastName.Text,[/COLOR][COLOR=#3E3E3E] txtMobile.Text)[/COLOR]
[COLOR=#3E3E3E]txtFirstName.Text = ""[/COLOR]
[COLOR=#3E3E3E]txtLastName.Text = ""[/COLOR]
[COLOR=#3E3E3E]txtMobile.Text = ""[/COLOR]
[COLOR=#3E3E3E]End Sub[/COLOR]
 
Ja dat ziet er echt heeeel anders uit ga het morgen proberen .
Nog vraagje waarin zit nu dat hij automatisch de eerst lege rij neemt?
Of anders gezegd na d volgende rij gaat?
Is dat de end.lx ?
 
De code springt eerst naar de onderste rij van het excelblad (rows.count = rij 1048576), daarna terug naar boven tot de laatste cel met een waarde (.end(xlup))en ten slotte één positie naar beneden (.offset(1)): de eerste cel zonder waarde.
 
Dank je wel voor uitleg waarom moet hij eerst helemaal naar onderen?
Werkt dit altijd zo om gewoon rijen te vullen vanuit een formulier in een tabel?
Ik ben heeeel blij met de snelle oplossing echt super
 
Dit is in excel-VBA de meest gangbare methode om de eerste lege cel te zoeken.
Hetgeen ook blijkt uit het feit dat HSV en ik precies dezelfde code hebben gemaakt.
 
ja deze werkt super Maar nu heb ik hem gekopieerd in mijn eigen werk en aangepast maar nu geeft hij weer een fout
hier is de aangepaste versie (hij geeft fout 424):o
het werkblad waar hij moet invullen is leeg


Private Sub cbinTabel_Click()
Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 3) = Array(txtRuimteCode.Text, txtAantalRadiatoren.Text, txtcbRadiator.Text)
txtRuimteCode.Text = ""
txtAantalRadiatoren.Text = ""
txtcbRadiator.Text = ""
End Sub
 
Fout 424: object vereist
Ik vermoed dat het iets met de textvelden in je userform te maken heeft.
Om het uit te kunnen zoeken heb ik toch je bestand nodig, eventueel ontdaan van gevoelige informatie.
 
Er bestaat geen textveld txtcbRadiator in de userform.
Je hebt wel een combobox cbZoekRadiator. Die moet je hebben denk ik
Code:
Private Sub cbinTabel_Click()
    Sheets(1).Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 3) = Array(txtRuimteCode.Text, txtAantalRadiatoren.Text, cbZoekRadiator.Text)
    txtRuimteCode.Text = ""
    txtAantalRadiatoren.Text = ""
    cbZoekRadiator.Text = ""
End Sub
 
super echt geweldig begin het steeds beter te snappen wat ik fout thanks
nu alleen nog probleem van de combi box dat ik alle opgezochte waardes in de tabel wil verwerken en niet die 1 maar echt alle 4 de kolomen
 
Probeer het zo eens.

Code:
With cbZoekRadiator
    Sheets(1).Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 6) = Array(txtRuimteCode.Text, txtAantalRadiatoren.Text, .List(.ListIndex, 0), .List(.ListIndex, 1), .List(.ListIndex, 2), .List(.ListIndex, 3))
  End With
 
thanks VenA maar helaas deze geeft fout 381 en wel in het stuk
Sheets(1).Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 6) = Array(txtRuimteCode.Text, txtAantalRadiatoren.Text, .List(.ListIndex, 0), .List(.ListIndex, 1), .List(.ListIndex, 2), .List(.ListIndex, 3))
End With

in stukje list als ik er met muis op ga staan zegt hij dat hij eigenschappen van de lijst niet kan vinden ong..
zou hier verwijzing bij moeten naar de lijst?? of moet ik nog iets veranderen in de eigenschappen van het invoervak?
 
ik heb het zo er onder geplakt klopt dat wel of moet het er tussen?


Private Sub cbinTabel_Click()
Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 3) = Array(txtRuimteCode.Text, txtAantalRadiatoren.Text, cbZoekRadiator.Text)
txtRuimteCode.Text = ""
txtAantalRadiatoren.Text = ""
cbZoekRadiator.Text = ""
End Sub


Private Sub cbZoekRadiator_Change()
With cbZoekRadiator
Sheets(1).Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 6) = Array(txtRuimteCode.Text, txtAantalRadiatoren.Text, .List(.ListIndex, 0), .List(.ListIndex, 1), .List(.ListIndex, 2), .List(.ListIndex, 3))
End With

End Sub
 
Werkt hier prima.

Code:
Private Sub cbinTabel_Click()
  With cbZoekRadiator
    Sheets(1).Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 6) = Array(txtRuimteCode.Text, txtAantalRadiatoren.Text, .List(.ListIndex, 0), .List(.ListIndex, 1), .List(.ListIndex, 2), .List(.ListIndex, 3))
  End With
    txtRuimteCode.Text = ""
    txtAantalRadiatoren.Text = ""
    cbZoekRadiator.Text = ""
End Sub
 

Bijlagen

ja dank je wel ik zie dus dat bovenstaande deel van functie weg moet
nu werkt het hier ook
hartelijk dank echt tof deze helpmij.
ik leer hier steeds meer van
thanks
 
Code:
Sheets(1).Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 6) = Array(txtRuimteCode.Text, txtAantalRadiatoren.Text, .Column(0), .Column(1), .Column(2), .Column(3))
 
Als je 7 gegevens wil wegschrijven past het niet in Resize(, 6)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan