mit VBA ganzen Bereich Text zu Zahlen

20/02/2015 - 22:36 von Hans Alborg | Report spam
Hallo...

<Excel 2007>

Heute klappt eine ABC-Schützensache bei mir nicht.

Für meine Chartmappe (die Charts funktionieren soweit) importiere ich ein
Blatt mit Daten aus einer anderen Mappe.
Die Werte dort sind aber Text, der in zahlenformierten Zellen steht.

Alle Werte stehen in Spalte B von Zeile 2 bis z.B. 6000, und haben das
Zahlenformat "##.##".
Ich hab zwar den Punkt ins Komma umgewandelt, aber es bleibt Text.

Im Netz fand ich nur Tips, den Zellinhalt mit 1 zu multiplizieren oder mit 0
zu addieren.
Das klappt auch, aber ich möchte eine 6000'er FOR-NEXT Schleife vermeiden.


Mein weiteres Vorhaben ist dann, die Zellen mit einer indirekten
Formatierung zu versehen, der 3-fach- Farbskala.
Da bekomme ich stàrkere Farbwechsel, wenn Nachbarwerte sich unerwartet stark
unterscheiden.
Das versuche ich dann auszuwerten. Die Nebenspalte ist mit Zeiten gefüllt
die ich dann entsprechend markieren möchte...

Auf jeden Fall benötige ich die Zahlenwerte auch für die Diagramme. Das
Herrichten der Daten war bisher viel Handarbeit, ich versuche soviel es geht
davon mit VBA zu erledigen.

Hans
 

Lesen sie die antworten

#1 Claus Busch
21/02/2015 - 08:40 | Warnen spam
Hallo Hans,

Am Fri, 20 Feb 2015 22:36:17 +0100 schrieb Hans Alborg:

Alle Werte stehen in Spalte B von Zeile 2 bis z.B. 6000, und haben das
Zahlenformat "##.##".
Ich hab zwar den Punkt ins Komma umgewandelt, aber es bleibt Text.



probiere es mal so:

Sub Test()
Dim LRow As Long

LRow = Cells(Rows.Count, 2).End(xlUp).Row
With Range("B1:B" & LRow)
.NumberFormat = "0.00"
.TextToColumns Destination:=Range("B1"), DataType:=xlFixedWidth, _
FieldInfo:=Array(0, 1), TrailingMinusNumbers:=True
End With
End Sub

oder

Sub Test2()
Dim LRow As Long

LRow = Cells(Rows.Count, 2).End(xlUp).Row
Range("M1") = 1
With Range("B2:B" & LRow)
.NumberFormat = "0.00"
Range("M1").Copy
.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False
End With
End Sub

Mein weiteres Vorhaben ist dann, die Zellen mit einer indirekten
Formatierung zu versehen, der 3-fach- Farbskala.
Da bekomme ich stàrkere Farbwechsel, wenn Nachbarwerte sich unerwartet stark
unterscheiden.
Das versuche ich dann auszuwerten. Die Nebenspalte ist mit Zeiten gefüllt
die ich dann entsprechend markieren möchte...



Dazu musst du die Bedingungen der Formatierung auswerten.


Mit freundlichen Grüßen
Claus
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional

Ähnliche fragen