in meiner Tabelle bestehen ca.10 Tabellenblätter, deren Zeilen mit der Eingabe des Datums in Spalte 1 auf das Tabellenblatt "Archiv" verschoben werden sollen. Das ganze funktioniert dank Onkel Gugl auch soweit mit folgendem Code:
'aktuelle zeile wenn in spalte 1 das datum steht, dann zeile nach blatt archiv kopieren
Private Sub Worksheet_Change(ByVal Target As Range)
Dim zz As Long 'letzte zeile im blatt Archiv
Dim Zeile As Long 'aktive zeile im blatt Tabelle1
Dim Spalte As Integer 'aktive spalte im blatt aktuelle ( aktion wird nur ausgelöst bei spalte _
1)
Spalte = ActiveCell.Column 'aktive spalte auslesen
If Spalte = 1 Then
Zeile = Target.Row 'aktive zeile auslesen
'letzte zeile feststellen im blatt Archiv
zz = Sheets("Archiv").Cells(Rows.Count, 1).End(xlUp).Row
'wenn Archiv dann
If Sheets("Tabelle1").Cells(Zeile, 1) = Date Then
'aktuelle zeile kopieren
Sheets("Tabelle1").Cells(Zeile, 1).EntireRow.Copy
Sheets("Archiv").Select
If zz > 2 Then
Sheets("Archiv").Cells(2, 1).EntireRow.Select
Selection.Insert Shift:=xlDown
Else
Sheets("Archiv").Cells(2, 1).EntireRow.Select
End If
ActiveSheet.Paste
'aktuelle zeile löschen
Sheets("Tabelle1").Select
Cells(Zeile, 1).EntireRow.Select
Selection.Delete Shift:=xlUp
End If
End If
End Sub
Nun möchte ich gerne im "Archiv" die Herkunft bzw. den Namen des Herkunfts-Tabellenblattes (im Beispiel "Tabelle1") in Spalte 2 vermerken.Mein Gedanke war nun in den Tabellenblättern eine Hilfsspalte mit dem Tabelleblattnnamen
=TEIL(ZELLE("Dateiname");FINDEN("]";ZELLE("Dateiname"))+1;30)
anzulegen. Das Formelergebnis wird aber im Code nicht als Text eingefügt und so gelingt die Variante nicht. Wie kann ich das ändern, bzw. gibt es auch einen Weg ohne Hilfsspalte?Vielen Dank für eure Hilfe
Stefan