VBA Variable Zeilenanzahl

Hallo!
Ich habe folgendes Makro zusammengebastelt. Allerdings finde ich den Fehler darin nicht. Ich bin absoluter VBA-Nerd. Vielleicht kann mir jemand nen kurzen Hinweis geben - das wäre sehr nett.

Sub Punkt_zu_Komma()

Dim Zeilenzahl As Long
Zeilenanzahl = Worksheets(„Dateninput“).Cells(Rows.Count, 3).End(xlUp).Row

Dim rngZelle As Range, rngBereich As Range
Set rngBereich = Worksheets(„Dateninput“).Range(Cells(31, 3), Cells(Zeilenanzahl, 3))
For Each rngZelle In rngBereich
rngZelle.Value = Application.WorksheetFunction.Substitute(arngZelle, „.“, „,“)
Next
End Sub

Das Makro soll erst in Spalte C die letzte beschriebene Spalte suchen und dann in allen Zellen bis dorthin den Punkt durch ein Komma ersetzten.

Das Ersetzebn passt super, nur die variablen Grenzen über die „Zeilenzahl“

Viele Grüße und danke für eure Hilfe,

Friedrich

Grüezi Friedrich

Das Ganze klappt soweit schon, aber Du solltest die Variablen-Namen im Code verwenden, die Du auch deklariert hast:

Dim Zeilenzahl As Long
Zeilenanzahl =

…hier passt das nämlich nicht.

Dim rngZelle As Range, rngBereich As Range
Set rngBereich = Worksheets(„Dateninput“).Range(Cells(31, 3),
Cells(Zeilenanzahl, 3))

Hier verwendest Du wieder die deklarierte (aber nicht zugewiesenen) Variable.

For Each rngZelle In rngBereich
rngZelle.Value =
Application.WorksheetFunction.Substitute(arngZelle, „.“, „,“)

Und hier tust Du dasselbe mit der Range-Variablen gleich nochmal.

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Thomas,

danke für die Hilfe. Hab es gelöst bekommen.

Vielen Dank für die schnelle Antwort… War sicherlich nicht die letzte Frage dazu :wink:

Viele Grüße,

Friedrich