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
op code ,Sheets("Klimmateriaal").Cells(iRow, i) = Me("ComboBox" & i).Value, stop het altijd
gr arie
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