Clever-Excel-Forum

Normale Version: Projektverwaltung im Excel - langsam
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Clever-Excel-Forum!,

Ich sitze hier vor der Aufgabe eine projektverwaltung im Excel bauen zu 'dürfen'.
Die anforderungen an das Design verwehren mir das nutzen von standard tabellen, also bin ich gezwungen selbst eine Tabelle zu entwerfen. (Range / Border / Borderaround etc)
Da die ganze dache natürlich auch noch dynamisch erweiterbar sein soll (Nutzer hinzufügen/entfernen) scheine ich um vba mit Border/Range/borderaround nicht herrum zu kommen(?).

Funktionsweise:
Das ganze holt sich Daten vom SQL Server in eine Excel Tabelle, arbeitet von dort via ADODB-SQL-Querys weiter und baut sich je nachdem wieviele Jahre/Datensätze zur verfügung stehen die Tabelle zusammen.

Das Hauptproblem:
Ein 90jähriger Rentner könnte die Tabelle freihand schneller zeichnen. Es bauen sich die einzelnen Zeilen im halbe bis sekundentakt auf.


Teil des Codes:
http://privatepaste.com/b92c78ecaf
(Es kann durchaus sein das der vba-stil richtig mies ist, mit der ganzen excel-vba geschcihte hatte ich bisher nichts am hut)

Design:
[Bild: excel.png]

Ich hoffe jemand kann mir hier Tipps in die richtige Richtung geben, mit einem C# Excel Addin scheint das ganze auch nicht merklich schneller zu laufen.
Hallo,

leider hast Du nur einen Teil deines Codes gepostet aber im Auszug konnte ich keinen großen Bremser erkennen. Müsstet mal versuchen dir die Laufzeit der einzelnen Abschnitte anzuzeigen.
Hallo Naga,

so wie ich es sehe, beschäftigst Du Excel mehr damit, irgendwelche Ränder zu ziehen, Formate zu setzen, Zellen zu verbinden und Namen zu löschen und einzutragen und anderes, als Daten zu übernehmen. Von den 74 geposteten Zeilen code beschäftigen sich ca. 50 damit, und das Datensatz für Datensatz. Zum Eintragen der Daten würden die anderen ca. 24 reichen ...

Schaue auch mal nach GetRows. Damit kann man in einigen Fällen alle Daten in einem Rutsch in ein Array oder resultierend in einen Zellbereich übernehmen.