Anzeige
Archiv - Navigation
860to864
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
860to864
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

860to864: Wert nach Einfügen als Zahl formatieren

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

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

Betreff
Datum
Anwender
Anzeige
AW: Wert nach Einfügen als Zahl formatieren
06.04.2007 17:02:00
Beate
Hallo,
du kannst auch das Format per Code ersetzen:

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
    Application.ReplaceFormat.NumberFormat = "#,##0.00"
    
    'ersetzen
    rng.Replace What:="X", Replacement:=ersatz, LookAt:=xlWhole, SearchOrder _
        :=xlByRows, MatchCase:=True, ReplaceFormat:=True
    
Next i

End Sub







Gruß,
Beate
Anzeige
AW: Wert nach Einfügen als Zahl formatieren
06.04.2007 17:26:55
MOch
Hallo Beate,
danke Dir! :-)
Ich habe das Makro kopiert. Wenn ich es jetzt ausführe, öffnet sich die VBA-Ansicht und zeigt einen Fehler im letzten Teil des Makros (markiert ist "ReplaceFormat:=True").
Weisst Du, woran das liegen kann?
Viele Grüße,
MOch
AW: Wert nach Einfügen als Zahl formatieren
06.04.2007 17:30:00
Beate
Hallo,
es muss wohl an der Excelversion liegen; mit welcher arbeitest du? Ich habe hier Office2002 SP2 und damit auch positiv getestet.
Gruß,
Beate
AW: Wert nach Einfügen als Zahl formatieren
06.04.2007 18:39:48
Uwe
Hallo Moch,
füge in Deinem Code über die Zeile

Next i

das ein:
rng.Value = rng.Value
Gruß Uwe
AW: Wert nach Einfügen als Zahl formatieren
06.04.2007 20:01:00
MOch
Hi Uwe,
genial - einfach und funktioniert perfekt! :-)
Vielen herzlichen Dank und schöne Feiertage,
MOch
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige