Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Namen automatisch vergeben aufgrund Tabellennamen

Namen automatisch vergeben aufgrund Tabellennamen
30.07.2015 08:20:09
Jason
Hallo Wissen!
In einem Tabellenblatt habe ich 12 Spalten (A:L). In der Spalte J steht jeweils der Name des Projektleiters. Mit folgendem Makro werden die Daten gefiltert und automatisch ein separates Tabellenblatt pro Projektleiter erstellt. Anschliessend habe ich die Wahl, ob ich jedes Tabellenblatt als separate Datei speichern möchte:

Sub Verteilen_auf_PL()
Dim rng1 As Range, rng2 As Range
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
Set rng2 = .Cells(1, 10)
.Sort key1:=rng2, order1:=xlAscending, Header:=xlYes
Do
Set rng1 = rng2.Offset(1, 0)
If rng1.Value = "" Then Exit Do
Set rng2 = rng1.EntireColumn.Find(What:=rng1.Value, searchdirection:=xlPrevious,  _
LookAt:=xlWhole, LookIn:=xlValues)
Sheets.Add after:=Sheets(ActiveWorkbook.Sheets.Count)
ActiveSheet.Name = rng1.Value
.Rows(1).Copy ActiveSheet.Cells(1, 1)
Range(rng1, rng2).EntireRow.Copy ActiveSheet.Cells(2, 1)
Cells.Select
Cells.EntireColumn.AutoFit
Range("A2").Select
Loop
End With
Sheets(1).Select
a = MsgBox("Die Projekte wurden gefiltert und pro Projektleiter in ein separates  _
Tabellenblatt kopiert. Möchten Sie alle Tabellenblätter separat speichern?", vbYesNo, "Verteilung beendet")
If a = vbNo Then Exit 

Sub Else
For i = 1 To ActiveWorkbook.Sheets.Count
Sheets(i).Copy
ActiveWorkbook.SaveAs Sheets(1).Name
ActiveWorkbook.Close
Next
End Sub

Nun möchte ich, bevor ich die Wahl habe die Tabellenblätter als separate Dateien zu speichern, dass jeweils der Bereich A:L sämtlicher Tabellenblätter automatisch aufgrund des Tabellennamens benannt werden.
Kann mir jemand helfen, dies zu realisieren bitte?
Vielen Dank und Grüsse
Jason

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Namen automatisch vergeben aufgrund Tabellennamen
30.07.2015 13:19:20
Jason
Habs hinbekommen.
Für Interessierte:
ActiveWorkbook.Names.Add Name:=Cells(2, 10), RefersTo:="=" & ActiveSheet.Name & "!A:L"

AW: Namen automatisch vergeben aufgrund Tabellennamen
30.07.2015 15:59:24
Alfons

Hallo,
damit beschränkst Du dich auf den Bereich der tatsächlich Daten enthält:
'Cells.Select
Cells.EntireColumn.AutoFit
Range("A2").Select
'Bereichsnamen festlegen
Dim lngLZ As Long
Dim strRef As String
'letzte Zeile mit Inhalt
lngLZ = Cells.Find("*", , , , xlByRows, xlPrevious).Row
strRef = "=" & Range("J2") & "!R1C1:R" & lngLZ & "C10"
ActiveWorkbook.Names.Add Name:=Range("J2"), _
RefersToR1C1:="" & strRef & ""

schönen Gruß
Alfons
http://vba1.de
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige