Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
956to960
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
956to960
956to960
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Das Wort zum Sonntag

Das Wort zum Sonntag
09.03.2008 20:08:00
Nepumuk
Hi,
heute mal zum Thema Stringoperationen. Jeder kennt so etwas (jaja ich weiß, ist'n blödes Beispiel):
Public Sub test()
    Dim strTestString As String
    strTestString = LCase(Mid("ABC", 1, 1))
    Debug.Print strTestString
End Sub

Aber die wenigsten wissen, dass es von diesen Funktionen zwei Varianten gibt. Nämlich eine mit und eine ohne $ - Zeichen nach der Funktion. Also Mid und Mid$, Left und Left$, Ucase und Ucase$ um einige zu nennen. Finden könnt ihr sie alle im Objektkatalog wenn ihr ein $ - Zeichen als Suchbegriff eingebt.
Wo ist nun der Unterschied? Denn in der Variable steht, wenn wir das Beispiel benutzen ein kleines "a", egal ob mit oder ohne $ - Zeichen an den Funktionen. VB hat uns in diesem Fall den Rückgabewert der Funktion in einen String konvertiert, damit er in die Variable passt. Denn die String-Funktionen ohne $ - Zeichen liefern uns einen Variant zurück der, um ihn in die Variable zu packen, erst mal zu einem String konvertiert werden muss. Hätten wir an Stelle von Mid und LCase Mid$ und LCase$ benutzt, hätten wir einen String zurückbekommen, der nicht konvertiert werden muss. Das ganze ist damit gut 30% schneller, denn 1. muss nichts konvertiert werden und 2. benötigt ein String 10 Byte + 1 Byte für jedes Zeichen, ein Variant aber 22 Byte + 1 Byte für jedes Zeichen.
Also, in Zukunft immer da, wo sowieso ein String als Rückgabewert erwartet wird, auch die entsprechende Funktion benutzen.
Gruß
Nepumuk

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Das Wort zum Sonntag
09.03.2008 20:53:13
Volti
Hi Nepumuk,
danke für die Ausführung zum heutigen Sonntag.
Ich benutze standardmäßig immer das $-Zeichen, weil in anderen Programmiersprachen das einfach so gefordert ist.
Leider muss ich feststellen, dass ich bei VBA in letzter Zeit doch recht nachlässig geworden bin und das häufig weggelassen habe, ohne mir weiter 'nen Kopf zu machen.
Aber jetzt wird das wieder konsequent gemacht. Danke.
PS: Ja, ja der Variant. Ein Fluch und Segen. Bei den Datentypen sollte man in der Tat mehr deklarieren, als alles nur VBA überlassen.
viele Grüße
KH

AW: Das Wort zum Sonntag
09.03.2008 21:46:00
Uduuh
Hallo Max,
danke und weiter so!
Hast du mal daran gedacht, eine Sammlung draus zu machen?
Bitte auch den Betreff beibehalten, dann kann man's im Archiv gut finden
Gruß aus’m Pott
Udo

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige