Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: mehrere Operationen in eine Zeile

mehrere Operationen in eine Zeile
19.02.2021 14:19:09
Ger.
Hi :-)
gerne möchte ich meinen Code kompakt halten.
Ich habe mehrere Zuweisungen.
k1=""
k2=""
k3=""
k4=""
k5=""
k1-k5 sind strings, muss ich die definieren, oder definieren die sich selbst?
Was ist schneller für den PC? (normalerweise definiere ich schön sauber (C++ Kind ;))
Kann ich knapper k1-k5 einen Wert also "" zuweisen?`
Kann ich ggf. hintereinander in einer Codezeile mit Trennzeichen schreiben?
k1="", k2="".....
Danke schön :-)
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mehrere Operationen in eine Zeile
19.02.2021 14:43:40
Daniel
Hi
du kannst mehre Progammzeilen in eine Editorzeilen packen, in dem du sie mit Doppelpunkt trennst:
k1 = "": k2 = "": k3 = "" usw
knapper geht das zusweisen nicht, du könntest aber mit Arrays und dann mit Schleifen arbeiten:
dim K(1 to 5) as String
for i = 1 to 5
K(i) = ""
Next

wobei man bei Arrays das komplette Leeren dann tatsächlich in einem Schritt machen kann, einfach indem man nochmal dimensioniert.
allerdings muss dann die Initial-Deklarierung des Arrays ebenfalls mit ReDim erfolgen und nicht mit DIM, bzw die Initial-Deklariung muss als einfaches Variant erfolgen
also im Prinzip so:
Dim K as Variant
ReDim K(1 to 5) as string
K(1) = "Hallo Welt"
K(2) = "Du da im Radio"
Redim K(1 to 5) as string
Gruß Daniel
Anzeige
AW: mehrere Operationen in eine Zeile
19.02.2021 16:00:58
Ger.
Hallo Daniel,
ja so habe ich es auch gelöst und bin nun auch über den Fehler gestolpert, dass ich die Werte zurücksetzen muss *lach*
Was bringt das als "Dim... as Variant"?
Scheint auch ohne zu gehen?!
Und ReDim ist schneller als eine Forschleife?
AW: mehrere Operationen in eine Zeile
19.02.2021 16:40:23
Daniel
Hi
1. geht auch ohne. Ich hab nur gerne alle Variablen im Kopfteil aufgelistet. Für das ReDim fehlen da oft noch die notwendigen Infos.
2. weiß ich auch nicht.
Probiers doch einfach aus.
Array groß genug machen und ggf in einer Schleife wiederholen, damit man messbare Zeiten zusammenbekommt.
Gruß Daniel
Anzeige
AW: mehrere Operationen in eine Zeile
19.02.2021 18:18:27
onur
Geht auch mit
Erase K

Richtig, Onur, ...
20.02.2021 01:27:02
Luc:-?
…und ob nun Erase oder ReDim, Ger…,
beides bewirkt ein einfaches Verwerfen der alten Array-Inhalte, wobei bei Erase die bisherige Dimensionierung beibehalten wird, sie mit ReDim aber neu angelegt wird, was ggf erforderlich sein kann, vor allem bei ReDim Preserve, das die alten Werte bzw einen Teil davon beibehält. Damit kann man dann auch neue L- und UBounds setzen, auch >0|1 oder <0 für LBound. Wenn die Array-Indizes mit 0 beginnen, ist eine Modulo-Berechnung (mit Operator Mod*) derselben einfacher, weil ein Rest 0 direkt als Index verwendet wdn kann.
Ein Loop (auch per For Each) über alle Elemente dürfte somit etwas mehr Zeit erfordern, denn in den anderen Fällen könnte intern ja einfach eine leere Kopie des Arrays oder ein neues gleichen Namens angelegt oder das bisherige nur eingeschränkt oder erweitert wdn. Seine einzelnen Elemente müssten dann auch nicht angesprochen wdn. Bei Dim ist das ja auch so.
* Symmetrisch, in anderen Sprachen oft Reminder (=Rest) genannt, aber nicht mit der asymmetrischen XlFkt REST identisch, die ein mathematisches Modulo berechnet.
Morhn, Luc :-?
„Die universelle Befähigung zur Unfähigkeit macht jede menschliche Leistung zu einem unglaublichen Wunder.“ Stapps ironisches Paradoxon
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige