Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1464to1468
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

Bestehendes Programm erweitern.

Bestehendes Programm erweitern.
14.12.2015 14:02:20
Oliver
Hallo liebe Community,
ich benötigte mit einem Programm etwas unterstützung. Und zwar möchte ich, wenn ich
Excel Tabellen zusammenführe, die Möglichkeit haben mehrere Dateien gleichzeitig zu
wählen. Das Programm fügt Tabellen zusammen und benennt den Reiter nach der Zelle
C2, jedoch kann ich dies nur einzeln tun.
Hier ist das Programm:
Sub TabEinfügenDialog() '* mit Datei-Dialog
Dim sEinfügeAM$, sCopyAM$, vFile As Variant, sTabName$, iCount%, iTabNr%
sEinfügeAM = ThisWorkbook.Name
Application.EnableEvents = False
For iCount = 1 To 4 '* 

Danke für Ihre Unterstützung

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

Betreff
Datum
Anwender
Anzeige
AW: Bestehendes Programm erweitern.
14.12.2015 21:18:58
Matthias
Hallo Oliver,
das ganze kann man über folgende Schritte ganz einfach erledigen:
-Getopenfilename muss Multiselect zugelassen werden.
-deine Variant-Variable vFile muss geprüft werden ob sie ein Array ist, wenn nicht ist 'Abbrechen' gewählt worden.
-nun Code für Unter- bis Obergrenze des Arrays wiederholen
Das sähe so aus:
Sub TabEinfügenDialog() '* mit Datei-Dialog
Dim sEinfügeAM$, sCopyAM$, vFile, sTabName$, iCount%, iTabNr%
sEinfügeAM = ThisWorkbook.Name
Application.EnableEvents = False
'For iCount = 1 To 4 '* 
Code ungetestet.
lg Matthias

Anzeige
AW: Bestehendes Programm erweitern.
14.12.2015 21:29:29
Matthias
Dies macht mich jedoch stutzig:

'* Sheetname zuweisen
iTabNr = [C2].Value
sTabName = iTabNr
ActiveSheet.Name = sTabName
Welchen Zweck hat es die Nummer an zwei Variablen zu übergeben, wenn du mit der dann nichts anfängst. Die Prüfung ob die Zelle eine Zahl enthält, hätte man auch lösen können ohne das Programm abschmieren zu lassen. Falls das nicht deine Intention war, kann man das auch einfacher haben:

'* Sheetname zuweisen
ActiveSheet.Name = [C2].Value

Während der ganzen Aktion werden dir die verschiedenen Fenster übrigens hin und herspringen, solch ein Geflimmer auf dem Schirm würde mich kirre machen. Falls du das verhindern willst (und in einigen Makros enorm Zeit sparen möchtest) gibt es dafür den Befehl 'Application.Screenupdating'. Diesen setzt du zu Beginn des Makros auf falsch und am ende wieder auf wahr.
lg Matthias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige