Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
892to896
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
892to896
892to896
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zahltext/Textzahl:performanteUmwandlungInZahlgesuc

Zahltext/Textzahl:performanteUmwandlungInZahlgesuc
06.08.2007 20:01:19
felix
Im Nachgang zu meinem Post
"wie Array in Range(nichtInEinzelneZellen)speichern - felix ettar 03.08.2007 16:50:58"
bitte ich nochmals Eure Hilfe.
"Rest"Problem:
1.
Beim Laden von Textdateien in Arbeitsblätter werden Felder, die das Kommazeichen enthalten, als Text statt als Zahl formatiert.
2.
Ganzzahlen werden wie bei 1. formatiert. In einigen Spalten sollen sie in Zahlen umgewandelt werden. Leere Zellen in solchen Spalten müssen jedoch leer bleiben. Sie dürfen nach der Umwandlungsarbeit nicht 0 zeigen.
For-Schleifen bauen mit entsprechenden Abfragen auf "Kommazeichen" kann ich ohne Hilfe. Ich benötige eine performantere Lösung - vielleicht mit einer With-Konstruktion?
InGi hatte mir beim Speichern von Arrays in dieser Richtung (With-Konstruktion) mit "Raumschiff Enterprise" :-) geholfen:
With Range(Cells(intRow, intCol + 1), Cells(intRow, intCol + UBound(arrAct)))
' .NumberFormat = "General"
.Value = arrAct
End With
Bitte gebt mir Denkanstöße, die ich dann selbst weiter verfolgen/verfeinern kann.
Danke und Gruß
Felix

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

Betreff
Datum
Anwender
Anzeige
AW: Zahltext/Textzahl:performanteUmwandlungInZahlg
06.08.2007 21:16:00
Harry
Hallo Felix,
probier mal

With Range(Cells(intRow, intCol + 1), Cells(intRow, intCol + UBound(arrAct)))
.NumberFormat = "General"
        .Value = arrAct
.FormulaR1C1 = .Value
End With


Wichtig sind beide Zeilen Wertzuweisung und Überschreibung als Formel. Hat zumindest bei mir immer funktioniert und leere Zellen müssten damit auch leer bleiben. Was mit einem evtl. führenden Hochkomma passiert, habe ich nicht getestet.
Gruß
Harry

AW: Zahltext/Textzahl:performanteUmwandlungInZahlg
06.08.2007 21:50:00
Harry
upppsss, muss natürlich heißen

With Range(Cells(intRow, intCol + 1), Cells(intRow, intCol + UBound(arrAct)))
.NumberFormat = "General"
       .FormulaLocal = arrAct
End With


Anzeige
AW: Zahltext/Textzahl:performanteUmwandlungInZahlg
07.08.2007 09:37:00
felix
Hallo Harry,
danke für Deine Unterstützung. Ich erkenne keine Änderung im Ergebnis. NumberFormat war in meinem Kode auskommentiert, weil es (bei meiner Verarbeitung) keinen Einfluß auf das Ergebnis zu haben scheint.
Grüße
Felix

AW: Zahltext/Textzahl:performanteUmwandlungInZahlg
07.08.2007 10:46:17
Harry
Hallo Felix,
ich habe mal eine Mappe mit einem Vergleich der Versionen hochgeladen. Dort klappt es, zumindest für eine deutsche Version
https://www.herber.de/bbs/user/44808.xls
Gruß
Harry

AW: Zahltext/Textzahl:performanteUmwandlungInZahlg
07.08.2007 13:00:00
felix
Hallo Harry,
nochmal danke. Ja, mit
.NumberFormat = "General"
.Value = arrAct
.FormulaLocal = .Value
komme ich einen guten Schritt voran. Nun entdecke ich, daß die uns zur Verfügung gestellte Datenlieferung noch korrigiert werden muss, denn wir erhalten einige Betragsfelder mit dem Punkt als Dezimaltrenner. Das führt bei der obigen Verarbeitungsweise zur Datumsinterpretation bei "geeigneten" Beträgen, wie z.B. 27.01 oder 12.11.
Sobald dieser Fehler korrigiert ist sollte Deine Lösung "tragen".
Besten Dank und Grüße
Felix
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige