update functie in userform werkt niet goed

Status
Niet open voor verdere reacties.

onno1984

Gebruiker
Lid geworden
19 jan 2018
Berichten
9
Hallo allemaal,

Ik heb een vraagje ben met een financieel jaaroverzicht bezig om daar een userform voor te maken heb in principe alles werkend.
Alleen de update functie werkt niet goed.
Ik kan wel gegevens opzoeken in een tekstvak maar als ik dan gegevens aanpas zet hij het altijd in de eerste regel met data neer en niet in de regel waar hij de gegevens weggehaald heeft.

Code:
answer = MsgBox("Weet je zeker dat je de gegevens wilt aanpassen?", vbYesNo + vbQuestion, "Update gegevens")
If answer = vbYes Then
Cells(currentrow, 1) = txtPost.Text
Cells(currentrow, 2) = TextBox3.Value
Cells(currentrow, 3) = TextBox4.Value
Cells(currentrow, 4) = TextBox5.Value
Cells(currentrow, 5) = TextBox6.Value
Cells(currentrow, 6) = TextBox7.Value
Cells(currentrow, 7) = TextBox8.Value
Cells(currentrow, 8) = TextBox9.Value
Cells(currentrow, 9) = TextBox10.Value
Cells(currentrow, 10) = TextBox11.Value
Cells(currentrow, 11) = TextBox12.Value
Cells(currentrow, 12) = TextBox13.Value
Cells(currentrow, 13) = TextBox14.Value

End If

Dit is de code voor het updaten staat er iets fout of heb ik iets overgeslagen?
Tevens even een documentje toegevoegd waar het om gaat.

Alvast bedankt.

Gr Onno
 
Laatst bewerkt:
Probeer het eens zo;

Code:
Private Sub cmdUpdate_Click()
 X = Sheet1.Columns(1).Find(txtPost.Value).Row
answer = MsgBox("Weet je zeker dat je de gegevens wilt aanpassen?", vbYesNo + vbQuestion, "Update gegevens")
If answer = vbYes Then
Cells(X, 1) = txtPost.Text
Cells(X, 2) = TextBox3.Value
Cells(X, 3) = TextBox4.Value
Cells(X, 4) = TextBox5.Value
Cells(X, 5) = TextBox6.Value
Cells(X, 6) = TextBox7.Value
Cells(X, 7) = TextBox8.Value
Cells(X, 8) = TextBox9.Value
Cells(X, 9) = TextBox10.Value
Cells(X, 10) = TextBox11.Value
Cells(X, 11) = TextBox12.Value
Cells(X, 12) = TextBox13.Value
Cells(X, 13) = TextBox14.Value

End If
 
Ik zou van de txtPost een combobox of listbox maken als ik jou was.
 
Niet sneller, maar minder gevoelig voor fouten zoals x = nothing.
Wat gebeurt er als txtpost.value niet wordt gevonden?
Code:
 X = Sheet1.Columns(1).Find(txtPost.Value).Row

Bouw daar altijd een foutcontrole in met 'Set x = .......zonder 'row'.
Schrijf daarna alles in een array weg.
 
Als hij de txtpost niet kan vinden blijven de overige textboxen leeg.
Maat heb inmiddels een combobox ervan genaakt.

Gr onno
 
Je gelooft het zelf nog ook;
txtpost is een textbox, die als je iets invult, en de methode Find het niet kan vinden (doordat je het niet goed hebt geschreven) je een foutmelding krijgt dat X = nothing is.
cells(nothing,1) kan namelijk niet.

Bewijs het tegendeel met een bestand met die txtbox.
Dat kan alleen als er vooraf iets is ingebouwd wat niemand meer kan zien doordat het bestand is verwijderd.
 
Laatst bewerkt:
Begin eerst eens met een goede basis. Je hebt nu kopjes en (sub)totalen in de kleurplaat staan. Hierdoor wordt het wat lastig om het correct in een comobo- of listbox in te laden. Als je bv 'Totaal inkomsten' kan selecteren en deze gegevens gaat wegschrijven dan ben je natuurlijk de formules kwijt. Het voordeel van een UF in deze opzet zie ik overigens niet.
 
Jammer dat de code nu niet overeenstemt met je Combobox en de methode Find die dan weer overbodig is geworden.

Code:
Private Sub cmdUpdate_Click()
If MsgBox("Weet je zeker dat je de gegevens wilt aanpassen?", vbYesNo + vbQuestion, "Update gegevens") = vbYes Then _
  Cells(ComboBox1.ListIndex + 3, 2).Resize(, 12) = Array(TextBox3.Value, TextBox4.Value, TextBox5.Value, TextBox6.Value, TextBox7.Value, TextBox8.Value, _
  TextBox9.Value, TextBox10.Value, TextBox11.Value, TextBox12, TextBox13, TextBox14)
End Sub
 
VenA

Klopt maar ben pas niet begonnen met van en dit is eigenlijk gewoon een probeersel om te kijken hoe het werkt.
Kan zonder uf ook prima maar wil gewoon leren hoe het werkt en wat het doet.
En dat doe ik dan liever in een document waarvan ik weet wat het doet en hoe de formules in elkaar zitten.

Ga ook wel meer proberen met een compleet ander idee maar weet nog niet hoe en wat dus rustig aan beginnen.

Gr Onno Nieuwenburg
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan