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

data worden op de verkeerde plaats weggeschreven

Status
Niet open voor verdere reacties.

Eastw00d

Gebruiker
Lid geworden
3 mrt 2013
Berichten
118
bijgevoegd een betand waarin binnenkomende acceptgiro genoteerd kunnen worden. Via een userform kunnen deze worden ingevoerd. Echter nu zet dit userform deze data op het eerste blad ipv in de tabel op het andere blad. Het zal wel iets simpels zijn, maar ik krijg het niet gevonden!
 

Bijlagen

De waarden uit de inputbox worden nu weggeschreven naar een actievecell die nog actief is op tabblad 1.
Ik heb er niet heel veel verstand van maar heb onderstaande aanpassing gemaakt:
Deze voegt ook nog een nieuwe regel toe in de tabel zodat er plaats wordt gemaakt voor nieuwe input.


Code:
Private Sub CommandButton1_Click()

If TextBox1.Value = "" Or TextBox2.Value = "" Or TextBox3.Value = "" Or TextBox4.Value = "" Then
  If MsgBox("Niet alle velden zijn ingevuld. Wilt U doorgaan?", vbQuestion + vbYesNo) <> vbYes Then
  Exit Sub
  
  End If
End If

Worksheets(2).Select
Rows("2:2").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow

Worksheets(2).Range("a2") = TextBox1.Value
Worksheets(2).Range("b2") = TextBox2.Value
Worksheets(2).Range("c2") = TextBox3.Value
Worksheets(2).Range("d2") = TextBox4.Value

Call resetForm
Unload Me


End Sub
 
Eastw00d,

Je mag alles van mij weten.......maar niets van mijn Bank:D
 
Ik zou het zo schrijven

Code:
Blad3.Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 4) = Array(CDate(TextBox1), TextBox2, CDbl(TextBox3), CDate(TextBox4))
For j = 1 To 4
  Me.Controls("Textbox" & j) = ""
Next j
 
en stel nu dat ik de waarden in deze tabel achteraf wil veranderen, hoe pak ik dit aan.
 
Als je toch een 'unload me' doet heb je de lus niet nodig om de controls leeg te maken.
Code:
Private Sub CommandButton1_Click()
  If TextBox1.Value = "" Or TextBox2.Value = "" Or TextBox3.Value = "" Or TextBox4.Value = "" Then
  If MsgBox("Niet alle velden zijn ingevuld. Wilt U doorgaan?", vbQuestion + vbYesNo) = vbYes Then
    GoTo einde
   End If
 Exit Sub
 End If
einde:
      If TextBox1 <> "" Then a = CDate(TextBox1)
      If TextBox3 <> "" Then c = CDbl(TextBox3)
      If TextBox4 <> "" Then d = CDate(TextBox4)
    Blad3.Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 4) = Array(a, TextBox2, c, d)
 Unload Me
End Sub
Hier is er iets aan gedaan als je toch door wilt gaan met lege textboxen en de array met cdate en cdbl.
 
Laatst bewerkt:
heb inmiddels het volgende bestand in elkaar geknutseld (met dank).

Ik krijg echter 1 ding niet opgelost.
nadat ik de tabel gevuld heb met data via "voer in" dan zet hij het als valuta weg in de tabel, duw ik op wijzigen dan wordt het weer een tekst waarde. Ik ben er al achter dat er ergens CBdl voor moet worden gezet.
Maar wat ik ook probeer, kik krijg dit niet voor elkaarBekijk bijlage rekeningen1.xlsm
 
Als je textboxen leeg laat en weg wilt schrijven, krijg je een foutmelding op cdate of cdbl.
Er moet wel vooraf gekeken worden of er iets is gevuld.
Code:
Private Sub CommandButton2_Click()
      If TextBox1 <> "" Then a = CDate(TextBox1)
      If TextBox3 <> "" Then c = CDbl(TextBox3)
      If TextBox4 <> "" Then d = CDate(TextBox4)
      If TextBox5 <> "" Then e = CDate(TextBox5)
 If ListBox1.ListIndex > -1 Then Sheets("blad1").Cells(ListBox1.ListIndex + 2, 1).Resize(, 5).Value = Array(a, TextBox2, c, d, e)
End Sub
 
stom dat ik daar zelf niet op ben gekomen. Bij de knop invoer doe je hetzelfde en die gaat goed.

Hartelijk dank!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan