Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Werte aus Eingabeblatt in jeweiliges Monatsblatt eintragen

Gruppe

Change

Problem

Eintragungen in den Zellen C8:E8 sollen in dem in Zelle B8 genannten Arbeitsblatt an die nächste freie Position eingetragen werden.

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

ClassModule: Tabelle1

Private Sub Worksheet_Change(ByVal Target As Range)
   Dim wks As Worksheet
   Dim iRow As Integer
   If Intersect(Target, Range("C8:E8")) Is Nothing Then Exit Sub
   On Error Resume Next
   Set wks = Worksheets(Cells(Target.Row, 2).Value)
   If Err > 0 Or wks Is Nothing Then
      Err.Clear
      Beep
      MsgBox "Das Arbeitsblatt " & Cells(Target.Row, 2).Value & _
         " existiert nicht!"
      Exit Sub
   End If
   On Error GoTo 0
   iRow = wks.Cells(Rows.Count, Target.Column - 2) _
      .End(xlUp).Row + 1
   wks.Cells(iRow, Target.Column - 2).Value = Target.Value
End Sub