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

wijzigen werkt niet ?

Status
Niet open voor verdere reacties.

avesoft

Gebruiker
Lid geworden
11 apr 2011
Berichten
186
heren forumleden

heb een userform waar wijzigen niet werkt zou mij iemand willen helpen om dit probleem waar ik al een tijd mee worstel op te lossen

Code:
Private Sub annuleer_Click()
    Unload Me 'zoekformulier4.Hide
End Sub


Private Sub haalgegevensop_Click()
Leegmaken
Dim sh As Worksheet
For Each sh In ThisWorkbook.Sheets
    If Not sh.Name = "Menu" Then
Application.ScreenUpdating = False
    Dim code As Range
        With sh.Range("B2:B1500")
            Set code = .Find(contractnummer, LookIn:=xlValues, Lookat:=xlWhole)
            If Not code Is Nothing Then
                Start = code.Address
                Do
                    omschrijvingobject.AddItem sh.Range("C" & code.Row).Value
                    Materiaal.AddItem sh.Range("D" & code.Row).Value
                    aantal1.AddItem sh.Range("E" & code.Row).Value
                    tredensporten.AddItem sh.Range("F" & code.Row).Value
                    aantal2.AddItem sh.Range("G" & code.Row).Value
                    bordesdelig.AddItem sh.Range("H" & code.Row).Value
                    Locatie.AddItem sh.Range("I" & code.Row).Value
                    Inspectiefrequentie.AddItem sh.Range("J" & code.Row).Value
                    certificaatnummer.AddItem sh.Range("K" & code.Row).Value
                    Kosteninspectie.AddItem sh.Range("L" & code.Row).Value
                    Laatsteinspectiedatum.AddItem sh.Range("M" & code.Row).Value
                    Laatsteopmerking.AddItem sh.Range("N" & code.Row).Value
                    Inspectiedatumverleden.AddItem sh.Range("O" & code.Row).Value
                    Opmerkingverleden.AddItem sh.Range("P" & code.Row).Value
                    Set code = .FindNext(code)
                Loop While Not code Is Nothing And code.Address <> Start
            End If
        End With
        For Each Ctl In zoekformulier4.Controls
            If TypeOf Ctl Is MSForms.ComboBox And Ctl.Name <> "contractnummer" Then
                If Ctl.ListCount > 0 Then Ctl.Value = Ctl.List(0)
            End If
        Next

        
    End If
Next
Application.ScreenUpdating = True
contractnummer.SetFocus
On Error GoTo 0
End Sub




Private Sub Opmerkingverleden_Change()

End Sub

Private Sub zoekandercontract_Click()

For Each Ctl In Me.Controls
    If TypeName(Ctl) = "TextBox" Or TypeName(Ctl) = "ComboBox" Then
        Ctl.Value = ""
    ElseIf TypeName(Ctl) = "CheckBox" Then
        Ctl.Value = False
    End If
Next Ctl

End Sub

Private Sub UserForm_Initialize()
   'contractnummer.Value = "Voer hier het contractnummer in"
   contractnummer.SetFocus
    With contractnummer
        .RowSource = "Klimmateriaal" & "!B2:" & Sheets("Klimmateriaal").Range("E65536").End(xlDown).Address
    End With
End Sub

Sub Leegmaken()
 Dim Ctl As Control
    For Each Ctl In zoekformulier4.Controls
        If TypeOf Ctl Is MSForms.ComboBox And Ctl.Name <> "contractnummer" Then Ctl.Clear
'        If TypeOf Ctl.Object Is MSForms.ComboBox Then
'   Ctl.Object.Text = ""
'   Ctl.Object.Clear
'End If
    Next
End Sub
Sub Nieuw()
    For Each Ctl In zoekformulier4.Controls
        If TypeOf Ctl Is MSForms.ComboBox And TypeOf ActiveControl Is MSForms.ComboBox And Ctl.Name <> "contractnummer" Then
            If Ctl.ListCount > 0 Then Ctl.ListIndex = Me.ActiveControl.ListIndex
        End If
    Next

End Sub
Private Sub CommandButton1_Click()

Dim iRow As Long, ws As Worksheet

Set ws = Worksheets("Klimmateriaal")
iRow = ws.Cells(Rows.Count, 2) _
  .End(xlUp).Offset(1, 0).Row
With ws


'copieër de data naar Blad3
With Sheets("Klimmateriaal")
  .Cells(iRow, 2).Value = Me.contractnummer.Value
  .Cells(iRow, 3).Value = Me.omschrijvingobject.Value
  .Cells(iRow, 4).Value = Me.Materiaal.Value
  .Cells(iRow, 5).Value = Me.aantal1.Value
  .Cells(iRow, 6).Value = Me.tredensporten.Value
  .Cells(iRow, 7).Value = Me.aantal2.Value
  .Cells(iRow, 8).Value = Me.bordesdelig.Value
  .Cells(iRow, 9).Value = Me.Locatie.Value
  .Cells(iRow, 10).Value = Me.Inspectiefrequentie.Value
  .Cells(iRow, 11).Value = Me.certificaatnummer.Value
  .Cells(iRow, 12).Value = Me.Kosteninspectie.Value
  .Cells(iRow, 13).Value = Me.Laatsteinspectiedatum.Value
  .Cells(iRow, 14).Value = Me.Laatsteopmerking.Value
  .Cells(iRow, 15).Value = Me.Inspectiedatumverleden.Value
  .Cells(iRow, 16).Value = Me.Opmerkingverleden.Value
 End With
 
 'Maak de data leeg
Me.contractnummer.Value = ""
Me.omschrijvingobject.Value = ""
Me.Materiaal.Value = ""
Me.aantal1.Value = ""
Me.tredensporten.Value = ""
Me.aantal2.Value = ""
Me.bordesdelig.Value = ""
Me.Locatie.Value = ""
Me.Inspectiefrequentie.Value = ""
Me.certificaatnummer.Value = ""
Me.Kosteninspectie.Value = ""
Me.Laatsteinspectiedatum.Value = ""
Me.Laatsteopmerking.Value = ""
Me.Inspectiedatumverleden.Value = ""
Me.Opmerkingverleden.SetFocus
End With
End Sub


Private Sub wijzigen_Click()
    iRow = Sheets("Klimmateriaal").Columns(2).Find(contractnummer, , xlValues, xlWhole).Row
        For i = 2 To 14
            Sheets("Klimmateriaal").Cells(iRow, i) = Me("ComboBox" & i).Value
        Next
    Dim Ctl As Control
    For Each Ctl In zoekformulier4.Controls
        If TypeOf Ctl Is MSForms.ComboBox Then
            Ctl.Text = ""
        End If
    Next
End Sub

op code ,Sheets("Klimmateriaal").Cells(iRow, i) = Me("ComboBox" & i).Value, stop het altijd

gr arie
 
Verander de regel in:

Code:
Sheets("Klimmateriaal").Cells(iRow, i).Value = Me.Controls("ComboBox" & i).Value

Met vriendelijke groet,


Roncancio
 
Je kan het heel simpel oplossen door onderstaande code die je in commandbutton1 heeft gebruikt te gebruiken voor de betreffende regels.

Code:
With Sheets("Klimmateriaal")
  .Cells(iRow, 2).Value = contractnummer.Value
  .Cells(iRow, 3).Value = omschrijvingobject.Value
  .Cells(iRow, 4).Value = Materiaal.Value
  .Cells(iRow, 5).Value = aantal1.Value
  .Cells(iRow, 6).Value = tredensporten.Value
  .Cells(iRow, 7).Value = aantal2.Value
  .Cells(iRow, 8).Value = bordesdelig.Value
  .Cells(iRow, 9).Value = Locatie.Value
  .Cells(iRow, 10).Value = Inspectiefrequentie.Value
  .Cells(iRow, 11).Value = certificaatnummer.Value
  .Cells(iRow, 12).Value = Kosteninspectie.Value
  .Cells(iRow, 13).Value = Laatsteinspectiedatum.Value
  .Cells(iRow, 14).Value = Laatsteopmerking.Value
  .Cells(iRow, 15).Value = Inspectiedatumverleden.Value
  .Cells(iRow, 16).Value = Opmerkingverleden.Value
 End With

In het bestand zitten wel een aantal aspecten die ik persoonlijk anders zou doen.
Bijvoorbeeld dat de gebruiker eerst op een knop moet klikken voordat de gegevens getoond worden. Dit zou m.i. direct moeten gebeuren zodra een contractnummer wordt gekozen.

Met vriendelijke groet,


Roncancio

Met vriendelijke groet,


Roncancio
 
Roncancio

ik zit hele weekeind al te tobben om dit klaar te krijgen , ik zie het gewoon niet ,lukt me niet


gr aie
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan