Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1436to1440
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige