HERBERS Excel-Forum - die Beispiele

Thema: Eingabe der Artikelnummer und Rabattberechnung

Home

Gruppe

Ereignis

Problem

Wie kann ich durch die Eingabe einer Artikelnummer den Import der Warenbenennung und des Preises aus anderen Tabellenblätter veranlassen? Bei den preisen soll eine Rabattberechnung anhand einer vorhandenen Rabatt-Tabelle vorgenommen werden.

Lösung
Geben Sie den Ereigniscode in das Klassenmodul des Arbeitsblattes ein.
ClassModule: Tabelle2

Private Sub Worksheet_Change(ByVal Target As Range)
   Dim wks As Worksheet, wksRabatt As Worksheet
   Dim varArtikel As Variant, varRabatt As Variant
   Dim dValue As Double, dNetto As Double
   Dim iWks As Integer
   If Target.Column <> 1 Then Exit Sub
   If IsEmpty(Target) Then Exit Sub
   If Target.Cells.Count > 1 Then Exit Sub
   Set wksRabatt = Worksheets("Rabatt")
   For iWks = 3 To 5
      varArtikel = Application.Match(Target.Value, Worksheets(iWks).Columns(1), 0)
      If Not IsError(varArtikel) Then
         Set wks = Worksheets(iWks)
         Exit For
      End If
   Next iWks
   If IsError(varArtikel) Then
      Exit Sub
   Else
      dValue = wks.Cells(varArtikel, 3).Value
      varRabatt = Application.Match(wks.Name, wksRabatt.Columns(4), 0)
      If Not IsError(varRabatt) Then
         dValue = dValue - (dValue * wksRabatt.Cells(varRabatt, 5).Value / 100)
      End If
      varRabatt = Application.Match(Target.Value, wksRabatt.Columns(1), 0)
      If Not IsError(varRabatt) Then
         dValue = dValue - (dValue * wksRabatt.Cells(varRabatt, 2).Value / 100)
      End If
      Target.Offset(0, 1).Value = wks.Cells(varArtikel, 2).Value
      Target.Offset(0, 2).Value = dValue
   End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub

Beiträge aus dem Excel-Forum zu den Themen Ereignis und Change

Msg mit 2 Ereignissen +Cancel Ereignisprozedur
Worksheet_Change auf 2 Zellen anwenden Mit Change() o. Calculate() Filtern und Drucken
Grafik nach Change in Exceltabelle laden Makro für ereignisabh. Druck verschiedener Seiten
UF Activate / Initialize Ereignis Namen definiert- in Ereignis verwenden?
Mail Exchange Server Workbook_SheetChange löscht Zwischenspeicher ...
On Worksheet Change - simulieren?! ChangeFileAccess
Zeilen aus- einblenden als Ereignis? Welches Ereignis ist das richtige ??
Ereignis Arbeitsblatt sperren abfangen Worksheet_SelectionChange
Ereignisprozedur f. Multipage-Reiter Frage zum Change ereignis
Fehler bei Changelink Worksheet_SelectionChange bzw. Interior
Change Kein Change in Combobox erlauben(wenn false)
Überprüfung von Zellen mit Worksheet change SheetChange_Endlosschleife
Change-Ereignis in Combobox unterdrücken Combobox Ereignis
Userform, Ereignis deklarieren im Klassenmodul Bei "Worksheet_Change" aktuelles Datum in J3
Worksheet_Activate() / Worksheet_Change() Warum kann ich nicht Worksheet_Change
Welches Diagramm-Ereignis? Bestimmtes Ereignis in Spalte zählen
Command Button Ereignis Ereignis von Laufzeit-Checkbox
change-ereignis bei dynamischen Controls / Teil 2 Change Ereignis verhindern
Workcheet-Change / Schleife..... change-ereignis bei dynamisch erstellten Controls
Worksheet_Change auf Spalten beschränken Worksheet_Change ohne aktive Zelleingabe
Private Sub Worksheet_Change(ByVal Target As Range For Each CheckBox, Change Value
Change(ByVal Target as range ComboBox.Change - ComboBox.Load Problem
Zwei Mal If inersect Ranges nach Worksheet change Schaltfläche - Ereignis erst nach Bestätigung ausl
SelectionChange - Change - Reihenfolge? Schleife bei Worksheet_Change
Objekt_Error - Ereignis in UserForm "Private Sub Worksheet_Change" deaktivieren