VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

Lagerbewegungen erfassen und dokumentieren

Gruppe

Dialog

Bereich

UserForm

Thema

Lagerbewegungen erfassen und dokumentieren

Problem

Lagerbewegungen sollen über eine UserForm erfaßt und dokumentiert werden.

Lösung

Geben Sie den nachfolgenden Code in die genannten Module ein.




ClassModule: frmEdit

Private Sub cboItems_Change()
   lblItems.Caption = Worksheets("Lager").Cells(cboItems.ListIndex + 2, 3).Value
End Sub

Private Sub cmdCancel_Click()
   Unload Me
End Sub

Private Sub cmdOK_Click()
   Dim iRow As Integer
   With wksLager
      If optAusgabe.Value = True Then
         .Cells(cboItems.ListIndex + 2, 3).Value = .Cells(cboItems.ListIndex + 2, 3).Value - CInt(txtPcs.Value)
      ElseIf optRueckgabe.Value = True Then
         .Cells(cboItems.ListIndex + 2, 3).Value = .Cells(cboItems.ListIndex + 2, 3).Value + CInt(txtPcs.Value)
      Else
         Beep
         MsgBox "Bitte Ein- oder Ausgabe wählen!"
         Exit Sub
      End If
   End With
   With wksBewegung
      iRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
      .Cells(iRow, 1).Value = cboItems.Value
      .Cells(iRow, 2).Value = Worksheets("Lager").Cells(cboItems.ListIndex + 2, 2).Value
      .Cells(iRow, 3).Value = CInt(txtPcs.Text)
      .Cells(iRow, 4).Value = txtName.Value
      .Cells(iRow, 5).Value = Now
      If optAusgabe.Value = True Then
         .Cells(iRow, 6).Value = "Ausgabe"
      Else
         .Cells(iRow, 6).Value = "Rückgabe"
      End If
   End With
   Unload Me
End Sub

Private Sub UserForm_Initialize()
   With wksLager
      cboItems.List = _
         .Range(.Cells(2, 1), .Cells(.Range("A1").CurrentRegion.Rows.Count, 2)).Value
   End With
   cboItems.ListIndex = 0
End Sub
StandardModule: basMain

Sub CallForm()
   frmEdit.Show
End Sub

Sub LagerEinAus()
   With wksLager
      If .Visible = xlSheetVisible Then
         .Visible = xlSheetVeryHidden
      Else
         .Visible = xlSheetVisible
         .Select
      End If
   End With
End Sub

Sub BewegungEinAus()
   With wksBewegung
      If .Visible = xlSheetVisible Then
         .Visible = xlSheetVeryHidden
      Else
         .Visible = xlSheetVisible
         .Select
      End If
   End With
End Sub

    


Beiträge aus dem Excel-Forum zu den Themen Dialog und UserForm