Wert nach Einfügen als Zahl formatieren
06.04.2007 15:56:49
MOch
Hi Ihr, ;-)
brauch mal wieder dringend Eure Hilfe!!!
Habe eine Tabelle in der mittels unten stehendem Makro alle Zellen mit einem "X" durch den jeweils in Zeile 3 der betreffenden Spalte stehenden Wert ersetzt werden.
Bsp.: ein "X" in B10 wird durch den Wert in B3 ersetzt, ein "X" in D12 durch den Wert in D3, ein "X" in E5 durch den Wert in E3 usw.
Problem dabei ist, dass nach dem Ausführen des Makros die Zahlen aus Zeile 3 zwar übernommen, jedoch als Text anstelle des "X" in den jeweiligen Zellen eingefügt werden.
Danach schaffe ich es nicht mehr, die Zellen als Zahlen zu formatieren, so dass andere Formeln autom. damit rechnen können - das Problem tritt nur beim Ersetzen durch Kommazahlen auf (z.B. 6,5 etc.)... :-(((
Falls jemand Rat weiss - wär ich riesig dankbar!
Viele Grüße und schöne Feiertage,
MOch
Hier das Makro:
Sub Ersetzen()
Dim Lcol As Integer, Lrow As Long, i As Long, rng As Range, ersatz As String
'letzte gefüllte Spalte in Zeile 3
Lcol = Cells(3, Columns.Count).End(xlToLeft).Column
'Schleife von 1 bis Lcol
For i = 1 To Lcol
'letzte gefüllte Zeile in Spalte(i)
Lrow = Cells(Rows.Count, i).End(xlUp).Row
'Bereich definieren. Zeile 4 bis letzte
Set rng = Range(Cells(4, i), Cells(Lrow, i))
'Ersatz = Wert aus Spalte(i), Zeile 3
ersatz = Cells(3, i).Value
'ersetzen
rng.Replace What:="X", Replacement:=ersatz, LookAt:=xlWhole, SearchOrder _
:=xlByRows, MatchCase:=True
Next i
End Sub