Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA-Nachhilfe Variablendeklaration
#11
Hallöchen,

jetzt fällt mir aber ein Stein vom Herzen. Mein Lappi ist doch noch recht schnell, auch wenn er schon 5 oder 6 Jahre auf dem Buckel hat Smile
Integer to Long: 0,03125
Integer to Integer: 0,03125
Long to Long: 0,03515625
Was aber auffällt - Integer to Integer ist immer die schnellste Variante ...

Ich möchte hier auch gleich nochmal eine Verfahrensweise zum Deklarieren von Variablen auf Modulebene anbringen. Die ist nicht sehr verbreitet, aber dem einen oder anderen bringt sie vielleicht was. Es geht um

DefBool
DefByte
DefCur
DefDbl
DefDate
DefInt
DefLng
DefObj
DefStr
DefSng
DefVar

Damit kann man deklarieren, dass Variablen mit festgelegten Anfangsbuchstaben dem jeweiligen Typ zugeordnet werden, z.B.
DefBool b
- alle undeklarierten Variablen mit b am Anfang sind boolean
DefInt i-k
- alle undeklarierten Variablen mit i, j und k am Anfang sind integer
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#12
Hallöchen,

ich bin begeistert, daß aus meinem Anstoß so viel interessante Ergebnisse
erwachsen sind.

Abgesehen davon daß eigentlich von vorn herein feststand, jedenfalls bei
mir, daß die Zeitunterschiede sich, wenn überhaupt, dann nur in homöo-
pathischen Bereich bewegen können.

Auch wenn Integer wie jetzt nachgewiesen, schneller ist, werde ich trotzdem
künftig sicherheitshalber weiterhin Long einsetzen. Da kann man auch dann nichts
falsch machen, wenn man beispielsweise die wirklich letzte benutzte Zelle in einer
Spalte sucht.
Eigene böse Erfahrung, der Teufel ist eben manchmal doch ein Eichhörnchen.

@ Andre,
Danke explicit auch für Deinen Beitrag.

Zitat:... Verfahrensweise zum Deklarieren von Variablen auf Modulebene anbringen. Die ist nicht sehr verbreitet, ...

das war mir vorher auch nicht bekannt.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#13
Hallo!

(04.12.2016, 17:02)Käpt schrieb: (...) Dim i as integer, j as integer wäre richtig (...)
Ich bevorzuge für jede Variable eine eigene Zeile. Das ist m.E. lesbarer, zumindest wenn mal die Anzahl der Variablen steigt. Zudem auch sprechende Namen, die sind verständlicher. Und vor jede Variable das entsprechende Kürzel.

PHP-Code:
Dim intZähler1    As Integer
Dim lngZaehler2   
As Long
Dim strText       
As String
Dim varSchleife   
As Variant
Dim bolSchalter   
As Boolean
Dim objOLApp      As Object
Dim datDatum      As Date
Dim curZahl1      As Currency
Dim sngZahl2      As Single
Dim dblZahl3      As Double
Dim bytZahl4      As Byte 

Gruß, René
Antworten Top
#14
Hallo,

das Thema Variablendeklaration ist momentan sehr gefragt:

http://office-loesung.de/p/viewtopic.php?f=166&t=728282
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#15
Hallo Mumpel,

darüber nachzudenken lohnt sich. Danke für Deine Ausführungen.

Bisher habe ich es genau umgekehrt gehalten.
Wenn nur ein paar Dimensionierungen angefallen sind, dann gab es für jede eine Zeile.
Ich fand es aber übersichtlicher, bei vielen Dimensionierungen eine gewisse zeilenweise
Zusammenfassung zu machen. Allerdings halte ich dann meine Vorgaben ein, als da sind:
Zeile: Integer, Integer, Integer
Zeile: Long, Long, Long, ...usw.

Ich werde mal drüber nachsinnen, wie ich das künftig handhaben werde.

Übrigens:
Zitat:Käpt schrieb:
 
... Dim i as integer, j as integer ... wäre richtig

Das war ja ein Codeschnipsel aus einem geposteten Text.
Ich habe drüber nachgedacht, ob ich das splitten sollte, habe es dann aber so gelassen,
weil ich glaubte, das sei in diesem Fall, es stand ja so im Code, für das Verständnis besser.

Na ja, ich hätte vielleicht doch auch ein Wort zur zeilenweisen Darstellung verlieren sollen.
Hätte ich das nur gesplittet, wäre ja der erklärende Sinn dahinter völlig verloren gegangen.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste