Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Excel => Thema gestartet von: smiddely am Mai 16, 2014, 15:59:41 Nachmittag

Titel: Office 2010: Makro um Datenbank zu erzeugen
Beitrag von: smiddely am Mai 16, 2014, 15:59:41 Nachmittag
Hallo zusammen,

ich hab ein problem mit einem dokument das extrem langsam ist.
das problem entsteht durch meine methode eine datenbank anzulegen und zu durchforsten.

zur zeit gehe ich so vor:

ich benutze den makro recorder. mit einem button kopiere ich handeingaben von einem Eingabefeld in ein "übernahme- feld". dadurch werden in der eingabemaske diverse suchergebnisse angezeigt.
wenn man die entsprechenden werte gefunden hat, ergänzt man alle eingaben im eingabefeld und kann dann den button "buchen" drücken. das dient langfristig zum erfassen von qualitätsproblemen.

die werte aus dem "übernahme-feld" werden immer in zeile 2 meiner datenbank angezeigt und hier werden per sverweis weitere werte aus anderen datenbanken ergänzt. wenn jetzt ein neuer datensatz mit dem button "buchen" angelegt werden soll, passiert folgendes: zeile 3 bis 13.000 werden kopiert und in zeile 4 eingefügt. danach werden die werte aus zeile 2 kopiert und in zeile 3 eingefügt.

Es werden also immer die neusten werte in zeile 3 angezeigt. das mache ich nur so, weil ich es nicht besser kann. lieber wäre mir eine funktion die den neusten datensatz in die erste freie zeile einfügt.

als ich die funktion anfänglich aufgebaut habe, hat das alles wunderbar und schnell funktioniert. dann habe ich allerdings noch eine mappe angelegt in der mit zählenwenn funktionen der neue datensatz durchforstet wird. dadurch können in der eingabemaske durch diagramme und listen ausgewählte suchkriterien angezeigt werden. seit dem dauert eine buchung eines neuen datensatzes 5 minuten und man denkt der rechner stürzt ab... :( ich vermute hier entsteht irgend eine art schleife.

ich wäre für jeden tip, wie ich das erzeugen meiner datenbank geschickter und eleganter lösen könnte sehr dankbar :)

beste grüße
smiddely



Titel: Antw:Office 2010: Makro um Datenbank zu erzeugen
Beitrag von: maninweb am Mai 17, 2014, 09:25:32 Vormittag
Hallo smiddely,

die Zählenwenn-Funktion wird, je nach Anzahl der Datensätze immer langsamer und geht auf die Performance.
Würde da ansetzen, um es schneller zu bekommen. Was den Code betrifft, kann ich hier nicht viel zu sagen,
da er hier nicht zur Verfügung steht. Könnte sein, dass es schneller ging, wenn Du vor Zeile 3 eine neue Zeile
einfügst. Siehe die Methode Insert vom Range-Objekt.

Gruß