For-Schleife hängt sich auf
09.09.2020 12:09:00
Jan
in einer Tabelle viele Datensätze der Zeile nach stehen. Falls sich ein Wert in einer Spalte wiederholt, wird diese mit einem Anführungszeichen (") bezeichnet. Das Ziel meiner Funktion ist es nun die Anführungszeichen durch "echte" Werte, d.h. den jeweiligen Wert darüber zu ersetzen. D.h.
4 -> 4
" -> 4
" -> 4
" -> 4.
Dafür verwende ich dieses Sub:
Sub wiederholungszeichen_entfernen(clmn As String)
'Erwartet die Spalte, in der gesucht werden soll als String
Dim x As Integer
x = 2
Sheets(tabellenblatt).Range(clmn & x).Select
Call find_last_row
'Funktion, die die letzte Zeile der Tabelle liefert (Variable ist "letztezeile")
Dim i As Integer
For i = letztezeile To 1 Step -1
If ActiveSheet.Range(clmn & x).Value = """" Then
' """" steht als String für das Suchwort (")
'clmn ist die erwartete Spalte, x die aktuelle Zeile
ActiveCell.Value = ActiveSheet.Range(clmn & x - 1).Value
End If
x = x + 1 'wird benutzt, um eine Spalte weiter runter zu gehen
ActiveSheet.Range(clmn & x).Select
Next
End Sub
Allein ausgeführt, macht dieses Sub, was es soll. Ruft man es aber extern über ein anderes Sub oder eine UserForm auf, hängt sich das Programm auf, sodass nur das Drücken von Esc das Sub beendet (dann ist es aber bereits fertig). Daher denke ich, dass Performance-Gründe das Abstürzen verursachen. Hat da jemand einen Tipp, wie ich es ans Laufen bekomme? Ich bin Euch sehr dankbar!