Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1476to1480
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

Dynamische Tabellennamen per VBA

Dynamische Tabellennamen per VBA
26.02.2016 12:37:53
Gunnar
Hallo Zusammen,
ich hatte gestern eine Frage gepostet und hier prompt eine genau passende Lösung bekommen, daher hier der Versuch mit einem weiteren Thema, was mich mit dem gleichen Projekt beschäftigt:
Ich kalkuliere mit einer Masterkalkulation einzelne Immobilien (immer ein Tabellenblatt / Immobilie). Wenn ich mehrere Immobilien kalkuliert habe (diese liegen dann als Datei mit einem Tabellenblatt vor), füge ich zu einem Portfolio zusammen. Das geschieht dadurch, dass ich die Tabellen mit den einzelnen Immobilien in die Portfoliodatei reinziehe / kopiere.
Die Namen der Tabellenblätter sind jeweils an den Namen der jeweiligen Immobilie angelehnt (Bsp. "Musterstadt"; "Traumstadt" o.ä.)
Da in den einzelnen Immobilienkalkulationen immer die gleichen Makros verwendet werden, habe ich sie vor dem Einfügen in die Portfoliodatei jeweils mit
Dim ws As Worksheet
Set ws = Worksheets("I1-Musterstadt")
eindeutig gemacht. Das ist in wenigen Minuten per Hand gemacht, da aber auch andere Benutzer mit den Immobiliendateien kalkulieren sollen, die aber nix im VBA Editor verloren haben, wäre es super, wenn man das in Abhängigkeit des Namens automatisieren könnte.
Die Tabellennamen der einzelnen Immobilienkalkulationen, die später zu einem Portfolio zusammengefasst werden beginnen immer mit "I" und der laufenden Nummer im Portfolio (also I1, I2; I3, ....In). Danach folgt noch ein Bindestrich und der Immobilienname.
Erreichen möchte ich, dass spätestens vor dem Einfügen in die Portfoliodatei - also dann, wenn die Immobilien des betreffenden Portfolios durchnummeriert werden - im VBA Code der jeweils vergebene Name zur eindeutigen Identifizierung der Makros verwendet wird.
Ich hoffe, ich hab mich verständlich ausgedrückt und freue mich auf eure Lösungsansätze. ;-)
Vielen Dank im Voraus und beste Grüße
Gunnar

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dynamische Tabellennamen per VBA
26.02.2016 12:54:44
otto
Hi,
so:
Sub blätter()
Dim WS_Count As Integer
Dim I As Integer
WS_Count = ActiveWorkbook.Worksheets.Count
For I = 1 To WS_Count
'dein Code zum kopieren
Next I
End Sub
otto

evtl. umständlich
27.02.2016 18:33:03
KlausF
Hallo Gunnar,
das hört sich für mich sehr umständlich an.
1. Wenn in den Immobiliendateien die Makros in einem eigenen Modul stehen
(also nicht im Codeteil der aktuellen Tabellenseite) und immer gleich lauten
dann werden die Makros beim Kopieren oder Verschieben der Seite in die
Portfoliodatei erst gar nicht mit kopiert
2. Dann müsstest Du nur noch die Makros einmalig händisch kopieren und mit
Dim ws As Worksheet
Set ws = ActiveSheet
so anpassen, dass sie jeweils für die aktive Seite im Portfolio funktionieren, also
ein Makro für alle Seiten ...
Gruß
Klaus

Anzeige
AW: evtl. umständlich
29.02.2016 14:59:24
Gunnar
Hallo Otto, hallo Klaus,
danke für die Lösungsvorschläge.
@ Otto: Mit dem Code bin ich leider nicht zurecht gekommen, das mag aber an meinen schlechten VBA-Kenntnissen liegen. ;-)
@ Klaus: Das hilft mir auf jeden Fall bis auf ein paar Spezialfälle erst mal super weiter.
Also, vielen Dank an euch beide und beste Grüße
Gunnar

AW: Dynamische Tabellennamen per VBA
26.02.2016 16:29:36
Gunnar
Hallo Otto,
danke erst mal für den Code. Bin leider noch nicht zum Testen gekommen.
Rückmeldung folgt nächste Woche.
Thread bitte offen lassen.
Danke & Gruß, Gunnar

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige