Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
292to296
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
292to296
292to296
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Codenamen einer Tabelle ändern

Codenamen einer Tabelle ändern
08.08.2003 21:13:35
Nic
Hallo Forum,

ich arbeite schon seit einiger Weile an einer Sache, von der ich eigentlich meinte, dass sie ganz einfach sei: Eine sehr große Tabelle (aus 5 MB Textdatei) innerhalb eines Tabelleblatts auf ganz viele Tabellenblätter verteilen. Inzwischen nahezu verzweifelt, bei jedem Ansatz so richtig gescheitert.

1. Ansatz
Copy and Paste. Schafft Excel nicht, es kommt zu Abstürzen. Hab alles ausprobiert, Microsoft-Bug, vgl. Forums-Thread "Grosse Datei - stürzt ab bei Copy/Paste (m/o VBA)" https://www.herber.de/forum/archiv/16to20/t16803.htm

2. Ansatz
Eleganter Transfer über Array. Elegant daher, da über Resize, somit wesentlich schneller. Übertragung der Werte von Feld zu Feld dauert viel zu lange. Funktionierte auch nicht, Resize für Range gibts wohl erst ab Excel 2000. Hab noch ein paar Stunden drumherumprogrammiert, keine Chance. War aber eh nicht ideal, erheblicher Geschwindingkeitsverlust gegenüber der Kopier-Methode, selbst wenn es geklappt hätte.

3. Ansatz
Ideale Methode gefunden: Einfach Tabellenblatt kopieren, überflüssige Daten löschen, solange bis alles aufgeteilt ist. Und, na klar, erkannter Microsoft-Bug, der Codename. Wird nicht normal hochgezählt, sondern jeweils um eine Zehnerpotenz erhöht. Zum Glück bei Herber längst erkannt und gelöst:

https://www.herber.de/forum/archiv/140to144/t140910.htm
http://xlarchiv.herber.de/56to60/t57315.htm
https://www.herber.de/forum/archiv/24to28/t24332.htm
https://www.herber.de/mailing/047399h.htm
http://www.excel-cd.de/mailing/047399h.htm

Jetzt kommt endlich mein aktuelles Problem:
Egal welchen dieser Codes ich ausprobieren (und bei allen anderen scheint er zu klappen), ich erhalte die Meldung

Laufzeitfehler '-2147352565 (800200b)':
Index außerhalb des gültigen Bereichs

Habe in diesem Fall die Codes noch nicht mal in mein Makro übertragen, sondern nur rüberkopiert und gestartet.

Beispiel

'CodeName des neuen Blattes aendern
CoNa = "Tabelle0"
If Sheets.Count > 9 Then CoNa = "Tabelle"
With ThisWorkbook.VBProject.VBComponents(ActiveSheet.CodeName)
.Properties("_CodeName").Value = CoNa & Sheets.Count
End With


Hat jemand eine Idee, woher der Fehler kommt, bzw. eine praktikable Lösung für mein Gesamtproblem?

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Codenamen einer Tabelle ändern
08.08.2003 21:46:12
Knut
Stimmt die Excelversion?

Knut


AW: Codenamen einer Tabelle ändern
08.08.2003 23:06:15
Nic
Hallo Knut,

Excel-Version ist 97, auch leider vorerst nicht änderbar, da alle unsere User mit der Version arbeiten. Aber Ivan scheint eine Lösung zu haben, werde das erstmal austesten.

Schönen Dank schonmal vorab!

Nic


AW: Codenamen einer Tabelle ändern
08.08.2003 21:52:15
ivan
im archiv habe ich den fehler gefunden
hoffe es hilft dir !

https://www.herber.de/forum/archiv/12to16/t13636.htm#13636

Hallo    Nic                                                                                 Gesund Bleiben & Gesund Werden      http://www.Tepperwein-Collection.at  Gruss  Ivan



Anzeige
AW: Codenamen einer Tabelle ändern
08.08.2003 23:06:34
Nic
Hallo Ivan,

wow, das scheint es wirklich zu sein! Kann es jetzt leider nicht mehr testen, ich melde mich am Montag, ob es geklappt hat. Habe wohl zu früh aufgegeben, war zum Schluss wirklich gefrustet. :-)

Vielen Dank und schönes Wochenende

Nic


Codenamen einer Tabelle ändern - Lösung
11.08.2003 09:51:58
Nic
Hallo Ivan,

habe jetzt die Lösung gefunden, anhand Deines Tipps:

Das Makro wird von einem Add-In aus gestartet, daher greift der Code mit ThisWorkbook auf das Add-In zu, nicht aber auf die aktive Arbeitsmappe. Richtig schaut der Code dann so aus:

'CodeName des neuen Blattes aendern
CoNa = "Tabelle0"
If Sheets.Count > 9 Then CoNa = "Tabelle"
With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.CodeName)
.Properties("_CodeName").Value = CoNa & Sheets.Count
End With

Also statt
With ThisWorkbook.VBProject.. einfach
With ActiveWorkbook.VBProject ...

Und dann klappts auch mit dem Add-In.

Nochmal vielen Dank!

Nic


Anzeige
AW: Codenamen einer Tabelle ändern - Lösung
11.08.2003 11:32:25
ivan
eigentlich hatte ich es vermutet,aber ich habe deinen code nicht
getestet!
DANKE für deine antwort werde mir den code mal reinziehen!
Hallo    Nic                                                                                 Gesund Bleiben & Gesund Werden      http://www.Tepperwein-Collection.at  Gruss  Ivan



Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige