Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1424to1428
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

Array - Leerstellen durch 0 ersetzen

Array - Leerstellen durch 0 ersetzen
15.05.2015 20:08:55
Peter

Guten Abend
Mit nachstehendem


Sub wandle ich Zahlen aus einem Progamm in ungewohnten Format in ein gewünschtes Format um.
Die Zahlen werden aus Range("psBetrag") übernommen. Nun kommt es vor, dass ab und zu eine der  _
Zellen von psBetrag leer ist, was dann Probleme gibt.
Wie kann ich nach dem Abfüllen der Variable myArray die Leerstellen durch eine NULL ersetzen?
Gruss, Peter

Sub ArrayUmwandeln()
With WorksheetFunction
If .Count(Range("psBetrag")) = .CountA(Range("psBetrag")) Then GoTo Ende   'wenn gleichviel  _
Zahlen wie
'Zellen, dann Umwandlung  _
nicht nötig
ThisWorkbook.Activate
'Texte, die wie Zahlen aussehen z.B. 1.111,19 werden in normale Zahlen umgewandelt und
'anschliessend formatiert - NULL-Werte werden unterdrückt
'Beispielformel =WENN(ISTZAHL(A7);A7;1*WECHSELN(WECHSELN(A7;".";"");",";"."))
Dim myArray, lngI As Long
Dim AWS As Object
Set AWS = Application.WorksheetFunction
myArray = Range("psBETRAG")
For lngI = 1 To UBound(myArray)
'Debug.Print lngI
If AWS.IsNumber(myArray(lngI, 1)) Then
' 'Zahl bleibt unverändert
Else
' 'entweder mit Funktion Replace
myArray(lngI, 1) = 1 * Replace(Replace(myArray(lngI, 1), ".", ""), ",", ".")
' 'oder mit WorksheetFunction.Substitute
' 'myArray(lngI, 1) = 1 * AWS.Substitute(AWS.Substitute(myArray(lngI, 1), ".", ""), "," _
, ".")
End If
Next
Range("psBETRAG") = myArray
Ende:
End With
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Array - Leerstellen durch 0 ersetzen
15.05.2015 20:25:29
Nepumuk
Hallo,
ändere die Abfrage:
If AWS.IsNumber(myArray(lngI, 1)) Then
so:
If IsNumeric(myArray(lngI, 1)) Then
Gruß
Nepumuk

AW: Danke !! owT
15.05.2015 20:33:14
Peter

Anzeige

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige