HERBERS Excel-Forum - das Archiv
Excel 2010 beta2 langsam bei For-Schleife
Sven

Hallo, liebe Nachtaktive :)
Ich habe mir heute die öffentliche Beta von Office 2010 installiert und bin leider über die VBA-Geschwindigkeit enttäuscht:
For i = 500 To 1 Step -1
If Cells(i, 1).Value = "" Then Rows(i).EntireRow.Delete
Next i

Für eine solche einfache Schleife benötigt Excel 2010 geschlagene 17 Sekunden.
Mit Excel 2007 waren es geschätzte 1 Sekunde.
Liegt das noch am Beta-Status, oder kann ich da etwas falsch gemacht haben?
Als alternative Frage: kann ich das, was ich mit der Schleife bezwecken will, auch auf eine andere Art erreichen, die nicht so rechenintensiv ist?
Danke und gute Nacht
Sven

zur alternative Frage
Tino

Hallo,
schau mal hier
https://www.herber.de/forum/messages/1117722.html
Gruß Tino
AW: Excel 2010 beta2 langsam bei For-Schleife
mumpel

Hallo!
Dann hast Du einen schlechten PC, eine misserable Installation (Tuningtools etc.) oder irgendetwas anderes stimmt mit Deinem PC nicht. Bei mir benötigt das Makro knapp 1 Sekunde auch in Excel 2010.
Gruß, René
AW: Excel 2010 beta2 langsam bei For-Schleife
Nepumuk

Hallo René,
wie sieht's eigentlich mit der Ribbon-Programmierung unter 2010 aus, hat sich da was geändert?
Gruß
Nepumuk
AW: Excel 2010 beta2 langsam bei For-Schleife
mumpel

Hallo!
Ja hat sich. Und zwar in den Menüs. Hier wird etwas anders programmiert. Das Menü wird auch nicht mehr vor den Tabs erstellt, sondern nach dem Ribbon. Ein kleines Beispiel habe ich im Textformat anhängt. https://www.herber.de/bbs/user/66074.zip
In Office 2010 hat startFromScratch keinen Einfluß mehr auf das Menü. Man muss dann jeden Menüpunkt separat deaktivieren. Hat aber Nachteile, da benutzerdefinierte Einträge nicht deaktiviert werden können. Das Menü wird neu Backstage-View genannt.
Wenn Du in beiden Versionen das Menü ändern möchtest, dann musst Du für beide Versionen eine customUI.xml schreiben. Diese beiden kommen gemeinsam in die Datei und werden auch in der .rels eingetragen. Es gibt auch einen neuen customUI-Editor bei MS, welcher mit beiden Versionen zurecht kommt. Auch der Namespace für Office 2010 ist ein anderer. Auch gibt es neue Attribute für bestimmte Elemente, zum Beispiel autoScale. Mehr weiss ich noch nicht. Sobald ich mehr weiss werde ich das Tutorial in Office-Loesung erweitern. Nur die Programmierung der QAT hat sich nicht geändert.
Leider muss ich schon wieder umlernen, da in der TP die Elemente andere waren und MS von der TP zur Beta viel geändert hat.
Nachtrag
mumpel

Man kann im benutzerdefinierten Menüeintrag nun auch Hyperlinks (Internet und Email) hinterlegen. Entweder als Text oder als anklickbares Bild (Auch Bilder lassen sich im Menü unterbringen). Man kann auch Formularfelder einbauen usw. Also sehr viele gute Verbesserungen. Ob das sinnvoll ist lassen wir ml dahingestellt.
AW: Nachtrag
Nepumuk

Hallo René,
DANKE für die Info. D.h. ich muss zukünftig drei Versionen verwalten. Na toll.
Gruß
Nepumuk
AW: Nachtrag
mumpel

Eigentlich nur zwei, da die customUI.xml-Dateien für Office 2007 und 2010 problemlos in einer Datei existieren können. Anbei eine Beispieldatei, dann kannst Du Dir das mal anschauen. https://www.herber.de/bbs/user/66076.zip Das Kennwort für das VBA-Projekt lautet: a
Programmieren musst Du also nur zwei VBA-Projekte. Lediglich die customUI.xml musst Du eventuell zweimal schreiben. Das musst Du aber nur, wenn Du auch das Menü beeinflussen möchtest oder musst. Wenn Du nur ein Ribbon erstellen möchtest dann musst Du die customUI nur einmal schreiben. Office 2010 erkennt automatisch die Version der customUI. Die customUI.xml aus Office 2007 wird auch in Office 2010 ausgeführt, sofern sich nur eine customUI.xml in der Datei befindet. Nur erscheinen die Menüeinträge aus Office 2007 in Office 2010 in einem Untermenü Namens "Add-Ins", was die Arbeit IMHO nicht gerade erleichert.
AW: Nachtrag
Nepumuk

Hallo René,
beeinflusse? Ich will das Standardmenü komplett weg haben. Aber gemach, noch hat keiner unserer Kunden diese Version.
Gruß
Nepumuk
AW: Excel 2010 beta2 langsam bei For-Schleife
Sven

Danke für eure Antworten. Dann werde ich mal schauen, woran es liegen könnte, wenn es an der neuen Version offenbar nicht liegt. :)