Makro formatiert die zellen selber um

Kabipack

Grünschnabel
Hi Leute,

wahrscheinlich gibt es diesen Thread schon, bin aber nicht in der lage in zu finden.
Mein Problem ist mein Makro. Es sollte einfach nur 2 Spalten, wo Zahl und Text steht, den text durch "Suchen und Ersetzen" löschen. bei den ganzen Zahlen funktioniert das einwandfrei, aber bei den mit Komma gibt er mir die zelle als Text zurück und ich muss manuel F2 und Enter drücken.
was kann ich tun damit er auch die mit dem komma formatiert?

Habe es auch schon mit "Selection.NumberFormat = "0"" probiert.

kann mir jemand helfen oder ist das ein allgemeines Problem?

vielen dank im vorraus
 
Ich versteh dein Problem nicht. Kannst du mal den Code hier reinstellen, und wo der Fehler auftritt?
 
Hi der Code funktioniert nur formatiert Excel eine Zahl mit einem Komma in Text um. und das ist mein Problem :)

Ich versuch die werte aus einem exportfile zu filtern.

hier der code:

Sub Test()

Dim Zelle As Integer, Spalte As Integer

Eingabewert = InputBox("Bitte geben Sie den Faktor ein (z.B. 100)")

Zelle = 1
Spalte = 1

'percent Work complete calculation

Do While Worksheets("Task_Table1").Cells(Zelle, Spalte) <> ""

Worksheets("Task_Table1").Cells(Zelle + 1, Spalte + 2).Select

Selection.Value = Cells(Zelle + 1, Spalte + 2) * Val(Eingabewert)


'Replace Function
'4 Spalte

Worksheets("Task_Table1").Cells(Zelle + 1, Spalte + 4).Select

Selection.Replace What:="days", Replacement:=" "
Selection.NumberFormat = 0
Selection.Replace What:="dy", Replacement:=" "
Selection.NumberFormat = 0
Selection.Replace What:="s", Replacement:=" "
Selection.NumberFormat = 0
Selection.Replace What:=" ?", Replacement:=" "
Selection.NumberFormat = 0
Selection.Replace What:=" ?", Replacement:=" "
Selection.NumberFormat = 0
Selection.Replace What:=" ?", Replacement:=" "

'5 Spalte

Worksheets("Task_Table1").Cells(Zelle + 1, Spalte + 5).Select

Selection.Replace What:=".", Replacement:=""

Selection.Replace What:="days", Replacement:=" "
Selection.NumberFormat = 0
Selection.Replace What:="dy", Replacement:=" "
Selection.NumberFormat = 0
Selection.Replace What:="s", Replacement:=" "
Selection.NumberFormat = 0
Selection.Replace What:=" ?", Replacement:=" "
Selection.NumberFormat = 0
Selection.Replace What:=" ?", Replacement:=" "
Selection.NumberFormat = 0
Selection.Replace What:=" ?", Replacement:=" "

Zelle = Zelle + 1



Loop

End Sub
 
hmmm.... mir fällt auf den ersten Blick nichts auf.

Wieso machst du nicht mal nen "IsNumeric"-Test auf die problematischen Zellen?

P.S: Bitte VB-Tags benutzen!
 
IsNumeric --> http://www.vbarchiv.net/commands/details.php?id=isnumeric

EDIT: Eine Sache fällt mir jetzt doch auf: Wieso referenzierst du die Zellen mit dem +1-Modifikator?
Starte doch gleich in der richtigen Zeile mit Zelle=2

In deinem jetzigen Code prüfst du, ob die aktuelle Zelle leer ist, und veränderst die nächste Zelle/Zeile darunter. Es sei denn das ist so gewollt.....
 
Zuletzt bearbeitet:
nö nö , das war so gewollt!

Danke für deine hilfe, aber ich habe das Problem schon gelöst :)

unzwar mit:

ActiveCell.FormulaR1C1 = ActiveCell.Value * 1

das Makro hat nach dem Ersetzen die zahl, wegen dem Komma, als Text gesehen!

bin einfach in die Zelle direkt reingesprungen und habe sie mit 1 Multipliziert! :)

nichts desto trotz dankeschööön :)
 

Neue Beiträge

Zurück