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

Knop "wijzigen" in userform

Status
Niet open voor verdere reacties.

wieter

Terugkerende gebruiker
Lid geworden
26 jun 2009
Berichten
1.128
Beste,
Voor schoonzoon bestandje ineen geknutseld.
In userform "zoeken/wijzigen" staat knop wijzigen
De code achter die knop (met de functies split & resize) kreeg ik van iemand van het forum
Daar VBA niet mijn sterkste kant is, krijg ik die knop niet helemaal werkende
De wijzigingen worden niet altijd in de juiste textbox gewijzigd
Wil iemand dit eens bekijken?
Dank, Wieter
 
Hallo,

Zou het zo lukken?
Code:
Private Sub CommandButton1_Click()
 Worksheets("Blad2").[A2:A1500].Find(cb_Nummer.Value).Offset(, 1).Resize(, 17) = Split(tb_Leverancier.Text & "|" & cb_Park.Text & "|" & cb_Geleverd.Text & "|" & tb_Aantal.Text & "|" & tb_Stukprexcl.Text & "|" & cb_Nogleveren.Text & "|" & tb_Aantal2.Text & "|" & tb_Stukprexcl2.Text & "|" & tb_Telefoon.Text & "|" & tb_Email.Text & "|" & tb_Label13.Text & "|" & tb_Label14.Text & "|" & tb_Label15.Text & "|" & tb_Label16.Text & "|" & tb_Label17.Text & "|" & tb_Label18.Text & "|" & tb_Label19.Text & "|" & tb_Label20.Text, "|")
 MsgBox ("Gegevens van Nummer: " & cb_Nummer & " zijn gewijzigd")
End Sub
Met vr gr
Jack
 
Bedankt Jack voor de reactie, maar de voorgestelde wijziging van de code heeft niet het verhoopte resultaat.
Ik gebruikte deze code-syntax al in een ander bestand, en daar werkt het perfect.
In dit bestandje lukt het echter niet
Nog een voorstel?
groeten Wieter
 
Helaas is mijn vba kennis ook beperkt, maar wat ik gebruik voor opslaan (uw button) heb in de excell aangepast.

We zijn nog wel een paar velden waar ik niet zo snel kon zien welke kolom het bewaard moest worden.

Tevens zal mijn manier omslachtig zijn en zekers korter kunnen :o
 

Bijlagen

Laatst bewerkt:
Bedankt Geminite voor de code
Juist omdat ze zo omslachtig is, is ze goed te lezen en te begrijpen
mgv Wieter
 
Hallo,

en zo?
Code:
Private Sub CommandButton1_Click()
 Worksheets("Blad2").[A2:A1500].Find(cb_Nummer.Value).Offset(, 1).Resize(, 20) = Split(tb_Leverancier.Text & "|" & cb_Park.Text & "|" & cb_Geleverd.Text & "|" & tb_Aantal.Text & "|" & tb_Stukprexcl.Text & "||" & cb_Nogleveren.Text & "|" & tb_Aantal2.Text & "|" & tb_Stukprexcl2.Text & "||" & tb_Telefoon.Text & "|" & tb_Email.Text & "|" & tb_Label13.Text & "|" & tb_Label14.Text & "|" & tb_Label15.Text & "|" & tb_Label16.Text & "|" & tb_Label17.Text & "|" & tb_Label18.Text & "|" & tb_Label19.Text & "|" & tb_Label20.Text, "|")
 MsgBox ("Gegevens van Nummer: " & cb_Nummer & " zijn gewijzigd")
 Unload Me
End Sub
Je hebt kolommen staan die overgeslagen moesten worden.
Ik had dat in de vorige topic nog niet opgemerkt.
Met vr gr
Jack
 
Laatst bewerkt:
Hallo Jack,

Bingooooooooooooooooo!!!!!!!! OPGELOST

Het probleem met die kolommen die overgeslagen worden had ik zelf al opgelost met "||", maar ik had uw code niet met copy/past overgebracht in mijn bestand, ik heb de oorspronkelijke code manueel aangepast en natuurlijk foutief (spaties)

Ik bots nu wel op een nieuw probleem. In de kolommen die overgeslagen worden staat een formule en die formule verdwijnt door de knop wijzigen.
Ik zal die formule nu via VBA in de code moeten inbouwen en daar zal ik wel een hele tijd zoet mee zijn.

Heel vriendelijk bedankt voor de hulp Jack
mgv Wieter
 
Hallo Wieter,

Met de volgende code wordt de formule weer terug geplaatst.
Er zullen nog wel andere mogelijkheden zijn maar dit is er 1 van.
Code:
Private Sub CommandButton1_Click()
  With Sheets(2)
    .[A2:A1500].Find(cb_Nummer.Value).Offset(, 1).Resize(, 20) = Split(tb_Leverancier.Text & "|" & cb_Park.Text & "|" & cb_Geleverd.Text & "|" & tb_Aantal.Text & "|" & tb_Stukprexcl.Text & "||" & cb_Nogleveren.Text & "|" & tb_Aantal2.Text & "|" & tb_Stukprexcl2.Text & "||" & tb_Telefoon.Text & "|" & tb_Email.Text & "|" & tb_Label13.Text & "|" & tb_Label14.Text & "|" & tb_Label15.Text & "|" & tb_Label16.Text & "|" & tb_Label17.Text & "|" & tb_Label18.Text & "|" & tb_Label19.Text & "|" & tb_Label20.Text, "|")
    .Cells(Rows.Count, 7).End(xlUp).Offset(1).FormulaR1C1 = "=(RC[-2]*RC[-1])*1.2"
    .Cells(Rows.Count, 11).End(xlUp).Offset(1).FormulaR1C1 = "=(RC[-2]*RC[-1])*1.2"
  End With
    MsgBox ("Gegevens van Nummer: " & cb_Nummer & " zijn gewijzigd")
    Unload Me
End Sub
Met vr gr
Jack
 
Hey Jack,
Ik was zelf al aardig op weg met de code en ik kwam dicht in de buurt met wat jij nu reeds af hebt.
Als ik echter uw code (zowel als de mijne) toepas in het bestand voert het de code niet uit.
Het zal nog wel even zoeken worden
Bedankt voor de hulp
Wieter
 
Code:
Private Sub CommandButton1_Click()
 With Worksheets("Blad2").[A2:A1500].Find(What:=cb_Nummer.Value, LookIn:=xlValues)
    .Offset(, 1).Resize(, 20) = Split(tb_Leverancier.Text & "|" & cb_Park.Text & "|" & cb_Geleverd.Text & "|" & tb_Aantal.Text & "|" & tb_Stukprexcl.Text & "||" & cb_Nogleveren.Text & "|" & tb_Aantal2.Text & "|" & tb_Stukprexcl2.Text & "||" & tb_Telefoon.Text & "|" & tb_Email.Text & "|" & tb_Label13.Text & "|" & tb_Label14.Text & "|" & tb_Label15.Text & "|" & tb_Label16.Text & "|" & tb_Label17.Text & "|" & tb_Label18.Text & "|" & tb_Label19.Text & "|" & tb_Label20.Text, "|")
    .Offset(, 6).Formula = "=(RC[-2]*RC[-1])*1.2"
    .Offset(, 10).Formula = "=(RC[-2]*RC[-1])*1.2"
 End With
 MsgBox ("Gegevens van Nummer: " & cb_Nummer & " zijn gewijzigd")
End Sub
 
En terwijl iedereen sliep, lostte de bakker het probleem op.
Bedankt Rudi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan