Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1256to1260
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
Inhaltsverzeichnis

Welcher Makro-Code schont PC-Ressourcen mehr?

Welcher Makro-Code schont PC-Ressourcen mehr?
Martin
Hallo Excel-Experten,
ich möchte einige Werte als Zellnamen versteckt speichern. Dazu habe ich folgende Funktion geschrieben:
Function SaveVar(Name As String, Item As String)
ThisWorkbook.Names.Add Name:=Name, RefersTo:=Item
ThisWorkbook.Names(Name).Visible = False
End Function
Leider werden beim Auslesen der Werte jeweils ein Istgleich-Zeichen und zwei Anführungsstriche hinzugefügt. Ich habe zwei verschiedene Lösungen gefunden, um diese unerwünschen Sonderzeichen zu entfernen. Würde mir bitte jemand schreiben welche der beiden Lösungen schneller ist:
'Lösung 1
Function ReadVar(Name As String)
ReadVar = Split(ThisWorkbook.Names(Name).Value, """")(1)
End Function
'Lösung 2
Function ReadVar(Name As String)
ReadVar = ThisWorkbook.Names(Name).Value
ReadVar = Mid(ReadVar, 3, Len(ReadVar) - 3)
End Function

Viele Grüße
Martin

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
dim t as double:t=timer:msgbox timer-t
30.03.2012 19:38:30
ransi
HAllo
Teste doch mal:
Function ReadVar(Name As String)
dim t as double
t=timer
ReadVar = Split(ThisWorkbook.Names(Name).Value, """")(1)
msgbox timer-t
End Function
'Lösung 2
Function ReadVar(Name As String)
dim t as double
t=timer
ReadVar = ThisWorkbook.Names(Name).Value
ReadVar = Mid(ReadVar, 3, Len(ReadVar) - 3)
msgbox timer-t
End Function
ransi
Danke für die Hilfe: Lösung 2 ist schneller
30.03.2012 19:52:49
Martin
Hallo Ransi,
erst lieferte der Timer bei beiden Varianten exakt Null. Nachdem ich eine Schleife mit 10000 Durchläufen eingebaut hatte, war der Geschwindigkeitsunterschied messbar. Lösung 1 ergibt den Wert 1,45 und Lösung 2 ergibt den Wert 1,1.
Viele Grüße
Martin
Anzeige
Frage war versehentlich als "offen" gekennzeichnet
30.03.2012 19:54:25
Martin
owT

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige