Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Excel Tabellenblatt automatisch erstellen und umbenennen

Frage Entwicklung VB for Applications

Mitglied: Hesperus

Hesperus (Level 1) - Jetzt verbinden

01.08.2010 um 18:44 Uhr, 29909 Aufrufe, 11 Kommentare

Kopieren eines vorhandenen Tabellenblattes in Excel und umbenennen anhand einer Liste

Guten Abend zusammen,

ich habe ein kleines Problem und hoffe Ihr könnt mir helfen.

Ich habe ein Excel Dokument in welchem es bisher zwei Tabellenblätter (1. "Übersicht", 2. "Vorlage") gibt.
Auf dem Blatt "Übersicht" gibt es eine Spalte Namen, welche von J12 bis J186 unterschiedlich lange Namen enthällt.

Ich würde jetzt gern das Blatt Vorlage für jeden Namen 1x kopieren und entsprechend in den Namen umbenennen.

Leider sind meine eigenen Makro Kentnisse dafür zu gering.

Ich würde mich freuen, wenn Ihr einen Vorschlag für mich hättet.

Schon einmal vielen Dank & einen schönen Sonntag noch
Hesperus
Mitglied: bastla
01.08.2010 um 19:27 Uhr
Hallo Hersperus!

Das könnte etwa so gehen:
01.
Sub Erstellen() 
02.
 
03.
For Each NeueTabelle In Worksheets("Übersicht").Range("J12:J186").Value 'alle Zellinhalte von J12 bis J186 durchgehen 
04.
    Sheets("Vorlage").Copy After:=Sheets(Sheets.Count) 'Vorlagetabelle als letztes Blatt in die Arbeitsmappe kopieren 
05.
    Application.DisplayAlerts = False 'Rückfrage (nach dem Löschen einer bestehenden Tabelle) unterdrücken 
06.
    'Versuch, eine gleichnamige Tabelle zu löschen; bei Fehler (= Tabelle ohnehin nicht vorhanden) einfach weitermachen 
07.
    On Error Resume Next: Sheets(NeueTabelle).Delete: On Error GoTo 0 
08.
    Application.DisplayAlerts = True 'Systemeldungen wieder einschalten 
09.
    Sheets(Sheets.Count).Name = NeueTabelle 'neue Tabelle (= letztes Blatt der Mappe) umbenennen 
10.
Next 
11.
 
12.
MsgBox "Fertig." 
13.
End Sub
Bitte beachten: Ev bereits bestehende Tabellen (wenn zB in J12 "KW01" stünde und es bereits eine Tabelle dieses Namens gäbe) werden kommentarlos gelöscht.

Grüße
bastla
Bitte warten ..
Mitglied: Hesperus
01.08.2010 um 20:10 Uhr
Hallo Bastla,

erst einmal vielen Dank für die Hilfe.

Leider funktioniert es so noch nicht. Wenn ich das Markro ausführe, kommt der Laufzeitfehler 9 "Index außerhalb des gültigen Bereichs". Beim Debuggen zeigt er auf die Zeile 3.

Ich hatte zuerst vemutet, dass es an zu langen Namen liegt aber ein test mit aufeinanderfolgenden Nummern bringt den gleichen fehler.
Bitte warten ..
Mitglied: bastla
01.08.2010 um 20:13 Uhr
Hallo Hersperus!

Dürfte am Tabellennamen "Übersicht" liegen ...

Grüße
bastla
Bitte warten ..
Mitglied: Hesperus
01.08.2010 um 20:28 Uhr
Hattest Recht Bastla, der Fehler lag am Namen.

Hab den Namen geändert und er hat auch ein Neues Blatt angelegt aber das Blatt "Vorlage" ist "verschwunden" und daher kommt schon wieder ein Laufzeitfehler 9 (zeile2)....

Hättest du noch ne Idee?

many Thx!
Bitte warten ..
Mitglied: bastla
01.08.2010 um 21:03 Uhr
Hallo Hersperus!

Selbst wenn es in der Liste in J12:J186 den Eintrag "Vorlage" gäbe, müsste zumindest die Kopie erstellt (und dann auch wieder mit "Vorlage" benannt) worden sein ...

Welches ist denn bei Dir die Zeile 2?

Du kannst übrigens im VBA-Editor den Cursor in eine beliebige Zeile zwischen "Sub" und "End Sub" stellen und dann mit der Taste F8 schrittweise das Makro durchführen lassen - wenn Du den Inhalt zB der Variablen "NeueTabelle" oder den Wert von "Sheets.Count" (liefert die Anzahl der Blätter und damit die Nummer der bislang letzten Tabelle) prüfen willst, einfach mit dem Mauscursor auf die entsprechende Stelle des Codes zeigen.

Zwischenzeitlich kannst Du auch in das Excel-Fenster wechseln (oder gleich beide Fenster nebeneinander anordnen), auch wenn das in diesem Fall nicht allzuviel bringen wird ...

Grüße
bastla
Bitte warten ..
Mitglied: 76109
01.08.2010 um 23:34 Uhr
Hallo bastla!

Hab's mit Leerzellen getestet und dann treten tatsächlich die von Hersperus genannten Fehler auf und das Tabellenblatt Vorlage ist auch weg

@Hersperus
Also vor Zeile 4 einfügen:
If Not IsEmpty(NeueTabelle) Then
und nach Zeile 9:
End If
dann sollte es funktionieren

Gruß Dieter
Bitte warten ..
Mitglied: bastla
01.08.2010 um 23:45 Uhr
Hallo Dieter!

Den Fehler hinsichtlich des ungültigen Tabellennamens (und dafür gäbe es natürlich auch noch andere Möglichkeiten als ein Leerstring) kann ich reproduzieren - das Verschwinden der Tabelle "Vorlage" kriege ich aber nicht hin.

Dein Zusatz ist auf jeden Fall sinnvoll, allerdings wäre eigentlich eine vollständige Prüfung des Namens auf Verträglichkeit mit den Excel-Konventionen für Tabellennamen (die ich mir gelegentlich einmal genauer ansehen muss) erforderlich ...

Grüße
bastla
Bitte warten ..
Mitglied: 76109
02.08.2010 um 00:14 Uhr
Hallo bastla!

Zitat von bastla:
Den Fehler hinsichtlich des ungültigen Tabellennamens (und dafür gäbe es natürlich auch noch andere
Möglichkeiten als ein Leerstring) kann ich reproduzieren - das Verschwinden der Tabelle "Vorlage" kriege ich aber
nicht hin.
Mhm, jetzt kriege ich's auch nicht mehr hin, aber vorhin war's beim testen mit Leerzellen auf einmal weg
Verträglichkeit mit den Excel-Konventionen für Tabellennamen (die ich mir gelegentlich einmal genauer ansehen muss)
erforderlich ...
Das würde ich wiederum auch über Error Resume Next machen (If Err...)

Gruß Dieter
Bitte warten ..
Mitglied: Hesperus
04.08.2010 um 11:31 Uhr
Hallo Bastla & Dieter,

habt erst einmal vielen Dank für eure Antworten und die Hilfe, dies hat mir sehr geholfen (auch das ich wusste, dass nicht nur bei mir Probleme waren ).

@ Bastla: Was auf alle Fälle nicht geklappt hat, ist das automatische überschreiben der eventl. vorhandenen Mappen aber das ist nicht schlimm gewesen.


Eine letzte Frage hätte ich jetzt in diesem Zusammenhang noch:

Ich habe jetzt mein Exceldokument mit ca. 200 Mappen und auf der ersten Mappe (Übersicht) die Spalte (J12-J212) mit den Namen der einzelnen Mappen. Besteht die Möglichkeit mit einer Formel oder ggf. mit einen Makro in der Spalte K einen Hyperlink zu der jeweiligen Mappe anzulegen?
Hab es schon mit Zusammenfüger mehrerer Zellen versucht & den Befehl Hyperlink aber irgendwie klappt das nicht.

Noch einmal vielen Dank
LG Hesperus
Bitte warten ..
Mitglied: 76109
04.08.2010 um 13:05 Uhr
Hallo Hesperus!

Mit Mappen meinst Du vermutlich Tabellenblätter, denn nach meinem Verständnis sind Mappen Arbeitsmappen bzw. Excel-Dateien.

Falls Du also Tabellenblätter meinst, dann ließe sich das in etwa so machen, wobei der Tab-Name in der Spalte J steht und der Link bzw. Formel z.B. in Spalte K.
=WENN(J12<>"";HYPERLINK("[MeineDatei.xls]" & J12 & "!A1";"Link");"")
Allerdings wird der Link - zumindest bei mir - nicht in blau mit Unterstrich angezeigt

Andernfalls ließe sich das auch per Makro machen (in blau mit Unterstrich)

Gruß Dieter
Bitte warten ..
Mitglied: Hesperus
04.08.2010 um 14:18 Uhr
Hallo Dieter,

sorry meinte natürlich Tabellenblätter. Bin heute irgendwie ein bissl neben der Spur .

Die Formel hat perfekt funktioniert (sogar mit blauen Unterstrich ).

habt nochmals vielen Dank
LG Hesperus
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel Tabelle nach Spalte sortieren und Daten auf Tabellenblätter separieren (4)

Frage von Fastinator zum Thema Microsoft Office ...

Microsoft Office
gelöst VBA Excel Tabellenblätter als PDF speichern (8)

Frage von Florian86 zum Thema Microsoft Office ...

VB for Applications
gelöst Excel - VBA: Automatisches Setzen von Kommentaren in eine Zelle (3)

Frage von d4shoerncheN zum Thema VB for Applications ...

Microsoft Office
Button für Wechseln zwischen den Tabellenblättern (6)

Frage von lupi1989 zum Thema Microsoft Office ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Server
Bilder aus dem Web mit CSV runterladen (30)

Frage von Yannosch zum Thema Server ...

Windows Update
WSUS 4 (Server 2012 R2) - Windows 10 Updates nicht möglich (12)

Frage von c0d3.r3d zum Thema Windows Update ...

Windows Userverwaltung
gelöst Administrator hat alle Rechte verloren (10)

Frage von mrdead zum Thema Windows Userverwaltung ...