Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Übernahme von Daten nach Eingabe eines Monatsnamens

Gruppe

Change

Problem

Wenn ich in eine bestimmte Zelle einen Monatsnamen eingebe, möchte ich, dass aus einer zweiten Tabelle die zugehörigen Daten in die aktuelle Tabelle eingelesen werden.

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

ClassModule: Tabelle3

Private Sub Worksheet_Change(ByVal Target As Range)
   Dim var As Variant
   Dim iRowL As Integer, iRow As Integer, iRowT As Integer
   If Target.Address <> "$B$1" Then Exit Sub
   If IsEmpty(Target) Then Exit Sub
   Range("A2:B65536").ClearContents
   var = Application.Match(Target.Value, Worksheets("Daten").Rows(1), 0)
   If IsError(var) Then
      MsgBox "Monat wurde nicht gefunden!"
      Exit Sub
   End If
   With Worksheets("Daten")
      iRowL = .Cells(Rows.Count, var).End(xlUp).Row
      iRowT = 1
      For iRow = 2 To iRowL
         If Not IsEmpty(.Cells(iRow, var)) Then
            iRowT = iRowT + 1
            Cells(iRowT, 1) = .Cells(iRow, 1)
            Cells(iRowT, 2) = .Cells(iRow, var)
         End If
      Next iRow
   End With
End Sub