Option Explicit
Private Sub CboDatum_Change()
Dim Index As Long
Dim lngRes As Long
Dim lngArr As Long
Dim varItem As Variant
Const Dnevna As String = "0" ' začeten znak dnevne službe
Const Nocna As String = "1" ' začeten znak nočne službe
Const Nocna2 As String = "2" ' drugi začeten znak nočne službe
Const OP1 As String = "OP1"
Const OP2 As String = "OP2"
Const DEZ As String = "DEŽ"
Const PDZ As String = "PDZ"
Const MKIU As String = "MKIU"
Const MKP As String = "MKP"
Dim Stetje(1 To 2, 1 To 6) As Long
Dim DateCol As Long
Dim GlavaIme As Long
DateCol = CboDatum.ListIndex + 5
GlavaIme = 3
With ThisWorkbook.ActiveSheet
For Index = 0 To LstUporabnik.ListCount - 1
LstUporabnik.List(Index, 1) = .Cells(GlavaIme, DateCol)
LstUporabnik.List(Index, 2) = .Cells(GlavaIme + 1, DateCol)
Select Case Mid(.Cells(GlavaIme + 1, DateCol), 1, 1)
Case Dnevna
Select Case .Cells(GlavaIme, DateCol)
Case OP1
Stetje(1, 1) = Stetje(1, 1) + 1
Case OP2
Stetje(1, 2) = Stetje(1, 2) + 1
Case DEZ
Stetje(1, 3) = Stetje(1, 3) + 1
Case PDZ
Stetje(1, 4) = Stetje(1, 4) + 1
Case MKIU
Stetje(1, 5) = Stetje(1, 5) + 1
Case MKP
Stetje(1, 6) = Stetje(1, 6) + 1
End Select
Case Nocna, Nocna2
Select Case .Cells(GlavaIme, DateCol)
Case OP1
Stetje(2, 1) = Stetje(2, 1) + 1
Case OP2
Stetje(2, 2) = Stetje(2, 2) + 1
Case DEZ
Stetje(2, 3) = Stetje(2, 3) + 1
Case PDZ
Stetje(2, 4) = Stetje(2, 4) + 1
Case MKIU
Stetje(2, 5) = Stetje(2, 5) + 1
Case MKP
Stetje(2, 6) = Stetje(2, 6) + 1
End Select
End Select
GlavaIme = GlavaIme + 4
Next Index
CheckBoxOP1Dnevna = Stetje(1, 1) = 1
If Stetje(1, 1) > 1 Then
MsgBox Stetje(1, 1) & " x vnos za " & OP1 & " - dnevna !", , "Opozorilo"
End If
CheckBoxOP1Nocna = Stetje(2, 1) = 1
If Stetje(2, 1) > 1 Then
MsgBox Stetje(2, 1) & " x vnos za " & OP1 & " - nočna !", , "Opozorilo"
End If
CheckBoxOP2Dnevna = Stetje(1, 2) = 1
If Stetje(1, 2) > 1 Then
MsgBox Stetje(1, 2) & " x vnos za " & OP2 & " - dnevna !", , "Opozorilo"
End If
CheckBoxOP2Nocna = Stetje(2, 2) = 1
If Stetje(2, 2) > 1 Then
MsgBox Stetje(2, 2) & " x vnos za " & OP2 & " - nočna !", , "Opozorilo"
End If
CheckBoxDEZDnevna = Stetje(1, 3) = 1
If Stetje(1, 3) > 1 Then
MsgBox Stetje(1, 3) & " x vnos za " & DEZ & " - dnevna !", , "Opozorilo"
End If
CheckBoxDEZNocna = Stetje(2, 3) = 1
If Stetje(2, 3) > 1 Then
MsgBox Stetje(2, 3) & " x vnos za " & DEZ & " - nočna !", , "Opozorilo"
End If
CheckBoxPDZDnevna = Stetje(1, 4) = 1
If Stetje(1, 4) > 1 Then
MsgBox Stetje(1, 4) & " x vnos za " & PDZ & " - dnevna !", , "Opozorilo"
End If
CheckBoxPDZNocna = Stetje(2, 4) = 1
If Stetje(2, 4) > 1 Then
MsgBox Stetje(2, 4) & " x vnos za " & PDZ & " - nočna !", , "Opozorilo"
End If
CheckBoxMKIU = (Stetje(1, 5) = 1 Or Stetje(2, 5) = 1)
If (Stetje(1, 5) > 1 Or Stetje(2, 5) > 1 Or (Stetje(1, 5) And Stetje(2, 5))) Then
MsgBox "Preveč vnosov za MKIU !", , "Opozorilo"
CheckBoxMKIU = False
End If
CheckBoxMKP1 = (Stetje(1, 6) = 1 Or Stetje(1, 6) = 2 Or Stetje(2, 6) = 1 Or Stetje(2, 6) = 2)
CheckBoxMKP2 = Stetje(1, 6) = 2 Or Stetje(2, 6) = 2 Or ((Stetje(1, 6) + Stetje(2, 6)) = 2)
If Stetje(1, 6) > 2 Or Stetje(2, 6) > 2 Or ((Stetje(1, 6) + Stetje(2, 6)) > 2) Then
MsgBox Stetje(1, 6) + Stetje(2, 6) & " x vnos za " & MKP & " !", , "Opozorilo"
End If
TextBox1.Text = "Ostale službe" & vbTab & vbNewLine & String(39, "-") & _
vbNewLine & "1. Pom. komandirja (PK) :" & vbTab & WorksheetFunction.CountIf(.Range(.Cells(3, DateCol), .Cells(319, DateCol)), "PK") & _
vbNewLine & vbNewLine & "2. Vodja okoliša (VPO) :" & vbTab & WorksheetFunction.CountIf(.Range(.Cells(3, DateCol), .Cells(319, DateCol)), "VPO") & _
vbNewLine & vbNewLine & "3. Kriminalist (KRIM) :" & vbTab & WorksheetFunction.CountIf(.Range(.Cells(3, DateCol), .Cells(319, DateCol)), "KRIM") & _
vbNewLine & vbNewLine & "4. Administracija (ADM) :" & vbTab & WorksheetFunction.CountIf(.Range(.Cells(3, DateCol), .Cells(319, DateCol)), "ADM") & _
vbNewLine & vbNewLine & "5. M.K - Odhodi (MKO) :" & vbTab & WorksheetFunction.CountIf(.Range(.Cells(3, DateCol), .Cells(319, DateCol)), "MKO")
End With
End Sub
Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub CommandButton2_Click()
Unload Me
UserForm1.Show vbModeless
End Sub
Private Sub UserForm_Initialize()
Dim lngDay As Long
Dim lngRow As Long
Dim rng As Range
With ActiveWorkbook.ActiveSheet
Set rng = .Range("E2")
Do
Me.CboDatum.AddItem Format(rng.Value, "d/ (ddd)")
Set rng = rng.offset(, 1)
Loop Until rng.Value = "Prenos"
Me.LstUporabnik.ColumnCount = 3
For lngRow = 3 To .Cells(.Rows.Count, 1).End(xlUp).Row Step 4
Me.LstUporabnik.AddItem .Cells(lngRow, 2)
Next
End With
CboDatum.ListIndex = 0
Me.LblDatum.Caption = Format(Range("E2").Value, "MMMM YYYY")
End Sub
Bookmarks