Krautkanal.com

Veröffentlicht am 2016-08-06 23:36:0 in /prog/

/prog/ 9109: Excel für Fortgeschrittene

justinrhee Avatar
justinrhee:#9109

Bernd würde sich gerne schnell in Excel und VBA einarbeiten zwecks NG relatierten Herausforderungen und sucht deine Empfehlung für gute Literatur. Da seine Zeit knapp ist kann er nicht von der Pike auf für Kleinigkeiten ("Ein Integer ist eine Ganzzahl.") an die an die Hand genommem werden, sondern braucht eine intensive und schnelle Einführung für Programmiererfahrene. Nein, Excel ist mehr als nur SVERWEIS.

Welche Tipps hat Bernd? Geheimwaffen?

keyuri85 Avatar
keyuri85:#9110

>Bernd würde sich gerne schnell in Excel und VBA einarbeiten zwecks NG relatierten Herausforderungen

Na Bernd, hast du vollmundig in der Bewerbung mit deinen Experten-Excel-Kenntnissen geprahlt?

tjisousa Avatar
tjisousa:#9111

>>9109
>VBA
Erschiss dich einfach gleich.

Du wirst an mich denken, wenn du in der Arbeit an 20k Zeilen VBA Makros rumpfuschen musst.

xravil Avatar
xravil:#9112

>>9111
>Erschiss dich einfach gleich.
Soll er sich totkacken?

chatyrko Avatar
chatyrko:#9114

>>9109

Vielleicht hilft http://www.vba-tutorial.de

* nutze er immer Option Strict
>Ein Integer ist eine Ganzzahl.
* Ein Integer ist in VBA nur 2 Bit groß: http://www.vba-tutorial.de/variablen/datentypen.htm
Nehme er stattdessen Long.
* VBA bietet von Haus aus wenig Nützliches, kann aber mit Verweisen - die man irgendwie im VBA-Editor hinzufügt (Bernd erinnert sich leider nicht mehr genau) auf VBScript-Bibliotheken u.a. zugreifen, was es ermöglicht, an vernünftige assoziative Arrays und RegEchsen zu komben.

judzhin_miles Avatar
judzhin_miles:#9115

>>9109
>>9114
Zudem sei OP-Bernd noch informiert, dass >>9111 die Tripel der Wahrheit sind und - sobald es um richtige Anwendungen geht bloss von VBA abgesehen werden soll.

Erzähle er dem Chef von horrenden Mehrkosten und den hohen Kosten technischer Schuld.

deviljho_ Avatar
deviljho_:#9116

>>9115
>Erzähle er dem Chef von horrenden Mehrkosten und den hohen Kosten technischer Schuld.
Hatte in der Tat mal ein Programm in VBA, an dem ich über zwei Monate gearbeitet habe, irgendwann haben wir dann entschieden, das in python neu zu schreiben und mit den PyWin32 Interfaces mit dem Excel GUI zu verkabeln.

Das Portieren hat drei Tage gedauert und es war danach zwei Größenordnungen schneller, bei 80% weniger Codezeilen.

maiklam Avatar
maiklam:#9117

>war danach zwei Größenordnungen schneller, bei 80% weniger Codezeilen
Was für eine Art Programm soll das gewesen sein? Wenn alle Berechnung innerhalb von Excel stattfanden (d.h. keine Interaktion mit dem BS oder anderen Prozessen), kann sich Bernd nur schwer vorstellen, dass es da so einen massiven Unterschied zwischen VBA und Python gegeben haben soll.

to_soham Avatar
to_soham:#9118

>>9116
>>9117
Möglicherweise die VBA-API falsch benutzt und immer mit einzelnen Zellen statt Ranges gearbeitet, etc pp?

cbracco Avatar
cbracco:#9119

>>9118
Die Tricks sind mir schon bewusst, aber sobald der Anwendungsfall etwas spezieller ist, lässt sich das damit nicht mehr abbilden. Mit den numpy Arrays wars dann kein Problem mehr.

Neuste Fäden in diesem Brett: