Dim code As Integer
Private Sub ComboBox1_Change()
On Error Resume Next
code = Worksheets("Gegevens").Range("A:AH").Find(ComboBox1.Value, LookIn:=xlFormulas, Lookat:=xlWhole).Row
End Sub
Private Sub UserForm_Initialize()
With Sheets("Gegevens")
sq = .Range("A3:A" & .Cells(Rows.Count, 1).End(xlUp).Row)
End With
For lLoop = 1 To UBound(sq)
For lLoop2 = lLoop To UBound(sq)
If UCase(sq(lLoop2, 1)) < UCase(sq(lLoop, 1)) Then
str1 = sq(lLoop, 1)
str2 = sq(lLoop2, 1)
sq(lLoop, 1) = str2
sq(lLoop2, 1) = str1
End If
Next lLoop2
Next lLoop
ComboBox1.List = sq
End Sub
Private Sub NieuweInvoerOpslaan_Click()
Application.ScreenUpdating = False
Dim lRow As Long
'vind de eerste lege rij in de database
lRow = LastUsedRow() + 1
'kopieer de data naar de database
With Sheets("Gegevens")
.Cells(lRow, 1).Value = Me.ComboBox1.Value
For i = 2 To 32
If InStr("|14|15|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|", "|" & i & "|") Then
Me("TextBox" & i).Value = Replace(Me("TextBox" & i).Value, ",", ".")
If Not IsNumeric(Me("TextBox" & i).Value) And Me("TextBox" & i).Value <> "" Then
MsgBox "Er wordt een numerieke waarde verwacht bij textbox " & i & "."
Me("TextBox" & i).SetFocus
Exit Sub
Exit For
End If
End If
.Cells(lRow, i).Value = Me("TextBox" & i).Value
Next
End With
Rows.Hidden = False
With ActiveWorkbook.Worksheets("Gegevens").Sort
.SortFields.Clear
.SortFields.Add Key:=Range("O3:O" & lRow - 1), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SortFields.Add Key:=Range("A3:A" & lRow - 1), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SetRange Range("A3:XFD500" & lRow - 1)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Dim rij As Integer
For rij = 1 To Range("a65500").End(xlUp).Row
If Cells(rij, 1).Font.Color = vbRed Then
Rows(rij).Hidden = True
End If
Next
'velden leegmaken
Me.ComboBox1.Value = ""
For i = 2 To 34
Me("TextBox" & i).Value = ""
Next
Me.ComboBox1.SetFocus
Application.ScreenUpdating = True
End Sub
Private Sub WijzigenEnOpslaan_Click()
Application.ScreenUpdating = False
With Worksheets("Gegevens")
waarde = Me.ComboBox1.Value
.Cells(code, 1).Value = waarde
For i = 2 To 32
If InStr("|14|15|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|", "|" & i & "|") Then
Me("TextBox" & i).Value = Replace(Me("TextBox" & i).Value, ",", ".")
If Not IsNumeric(Me("TextBox" & i).Value) And Me("TextBox" & i).Value <> "" Then
MsgBox "Er wordt een numerieke waarde verwacht bij textbox " & i & "."
Me("TextBox" & i).SetFocus
Exit Sub
Exit For
End If
End If
.Cells(code, i).Value = Me("TextBox" & i).Value
Next
End With
'velden leegmaken
Me.ComboBox1.Value = ""
For i = 2 To 34
Me("TextBox" & i).Value = ""
Next
Me.ComboBox1.SetFocus
Application.ScreenUpdating = True
End Sub
Private Sub Opzoeken_Click()
If ComboBox1.ListIndex = -1 Then Exit Sub
With Worksheets("Gegevens")
For i = 2 To 34
If InStr("|7|10|11|12|", "|" & i & "|") Then
Me("TextBox" & i).Value = Format(CDate(.Cells(code, i).Value), "dd-mm-yyyy")
Else
Me("TextBox" & i).Value = .Cells(code, i)
End If
Next
End With
End Sub
Private Sub MedewerkersZichtbaar_Click()
Application.ScreenUpdating = False
Rows.Hidden = False
Range("A1").Select
Application.ScreenUpdating = True
End Sub
Private Sub MedewerkersVerbergen_Click()
Application.ScreenUpdating = False
Dim rij As Integer
For rij = 1 To Range("a65500").End(xlUp).Row
If Cells(rij, 1).Font.Color = vbRed Then
Rows(rij).Hidden = True
End If
Next
Range("A1").Select
Application.ScreenUpdating = True
End Sub
Private Sub GaNaarDezeWeek_Click()
Application.ScreenUpdating = False
Columns("A:XFD").Hidden = False
With Sheets("Gegevens")
i = WorksheetFunction.Match(CLng(Date), .Rows(2), 0)
Application.Goto .Cells(1, i), True
End With
Range("A1").Select
Application.ScreenUpdating = True
Unload Me
End Sub
Private Sub Sorteren_Click()
Application.ScreenUpdating = False
ActiveWorkbook.Worksheets("Gegevens").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Gegevens").Sort.SortFields.Add Key:=Range("O3:O500" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Gegevens").Sort.SortFields.Add Key:=Range("A3:A500" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Gegevens").Sort
.SetRange Range("A3:ACS500")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A1").Select
Application.ScreenUpdating = True
End Sub
Private Sub AllesZichtbaar_Click()
Application.ScreenUpdating = False
Columns("A:XFD").Hidden = False
Range("C3").Select
ActiveWindow.FreezePanes = True
SendKeys ("^{HOME}")
Application.ScreenUpdating = True
Unload Me
End Sub
Private Sub AlleVeldenLeegmaken_Click()
'velden leegmaken
Me.ComboBox1.Value = ""
For i = 2 To 34
Me("TextBox" & i).Value = ""
Next
Me.ComboBox1.SetFocus
End Sub