Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Bei Blattnamenseintrag Zeile in jeweiliges Blatt verschieben

Gruppe

Change

Problem

Bei Eintrag eines Arbeitsblattnamens in Spalte D soll die Zeile des Eintrags in das jeweilige Tabellenblatt verschoben 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 Target.Column <> 4 Then Exit Sub
   If IsEmpty(Target) Then Exit Sub
   On Error Resume Next
   Set wks = Worksheets(Target.Value)
   If Err > 0 Or wks Is Nothing Then
      MsgBox "Tabelle wurde nicht gefunden!"
      Exit Sub
   End If
   On Error GoTo 0
   With wks
      iRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
      .Range(.Cells(iRow, 1), .Cells(iRow, 3)).Value = _
         Range(Cells(Target.Row, 1), Cells(Target.Row, 3)).Value
   End With
   Rows(Target.Row).Delete
End Sub