Top-Themen

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, 30281 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
EXCEL 2016 Wie Tabellenblatt gegen automatische Aktualisierung sperren?
Frage von Hobi84Microsoft Office

Hallo. Tabellenblatt 2 holt sich in meiner EXCEL Mappe Werte aus dem Tabellenblatt 1. Wenn ich im Tabellenblatt 1 ...

Microsoft Office
Excel 2010: Tabellenblatt verknüpfen
gelöst Frage von honeybeeMicrosoft Office3 Kommentare

Hallo, kann ich in Mappe A eine Verknüpfung von einem Tabellenblatt aus Mappe B erstellen? Ich möchte keine Formelverknüpfung, ...

Microsoft Office
Excel Formatierung über gesamtes Tabellenblatt
gelöst Frage von Florian86Microsoft Office3 Kommentare

Hallo, ich habe das Problem das unsere Mitarbeiterin mit haufen Aufwand eine Tabelle erstellt hat und die gesamte Tabelle ...

VB for Applications
Excel Inhaltsverzeichnis Layout automatisch erstellen
Frage von Julian8990VB for Applications3 Kommentare

Hallo Zusammen! Ich bin schon seit ein paar Tagen an einem einfachen Problem am verzweifeln! Ich möchte ein Inhaltsverzeichnis ...

Neue Wissensbeiträge
Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 1 StundeTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 1 StundeSicherheit4 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 StundenSicherheit3 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Sicherheit

Meltdown und Spectre: Die machen uns alle was vor

Information von Frank vor 3 StundenSicherheit10 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Heiß diskutierte Inhalte
Batch & Shell
Anmeldevorgang für Informatikraum (Schule) unter Windows
gelöst Frage von IngenieursBatch & Shell29 Kommentare

Hey zusammen, ich werde in naher Zukunft den Informatik Raum meiner jetzigen Schule von dem aktuellen Betreiber übernehmen (Vertrag ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von 92943Windows 1027 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
Frage von Windows10GegnerNetzwerkgrundlagen19 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...