ich habe ein Excel problem und hoffe auf Hilfe von Experten! Mein ursprüngliches Problem war dieses:
'Ich habe zwei verschiede Excel Dateien, in der Einen werden immer wieder datensätze eingegeben, sprich neue Zeilen angefügt. In der zweiten habe ich eine Pivot-Tabelle, die auf die Datensätze der anderen Datei zugreift. Dies funktioniert, indem ich den Datensätze-Bereich über Einfügen-Name-Definiere einen Namen ('Datenbank') gebe und dann im zweiten Excel Sheet auf diesen Namen verweise.
Ich hätte gerne, dass der Bereich 'Datenbank' sich automatisch erweitert, sprich: Immer wenn eine neue Zeile eingegeben wird, erweitert sich der Bereich um eine Zeile und wenn ich dann meine Pivot-Tabelle aktualisiere, ist der neue Datensatz automatisch mit dabei.'
Ich habe dann in foren gesucht und nachgefragt und habe dieses Makro zur Lösung bekommen:
Sub Worksheet_Change(ByVal Target As Excel.Range)
End Sub
'Aktualisiert den Bereich für den Namen "Datenbank"
Dim wks As Worksheet, lastRow As Long
Set wks = Me
'lastRow = wks.UsedRange.Row + wks.UsedRange.Rows.Count - 1
'oder
lastRow = wks.Cells(wks.Rows.Count, "A").End(xlUp).Row 'Wenn Spalte A in allen Zeilen ausgefüllt
With wks.Range("Datenbank")
If lastRow > .Row + .Rows.Count - 1 Then ActiveWorkbook.Names.Add Name:="Datenbank", RefersToR1C1:= _
"=" & wks.Name & "!R" & .Row & "C" & .Column & _
":R" & lastRow & "C" & .Column + .Columns.Count - 1
End If
End With
End Sub
Jedoch wenn ich das beim entsprechenden Datenblatt eingebe in Excel, klappt das ganze nicht! Ich weiss nicht woran es liegen könnte. Kann mir jemand helfen, wie ich das Makro verändern/anpassen muss?
Schonmal jetzt vielen Dank für jede Hilfe! :)