Leslie Anne
2006-06-10 11:28:27 UTC
Liebe NG-Teilnehmer,
in einer größeren Excel-Tabelle möchte ich mit VBA code eine
Zeichenfolge suchen und ersetzen. Die Zeichenfolge taucht
innerhalb der jeweiligen Zelle mehrmals auf.
Folgendes Makro habe ich dafür geschrieben:
Option Explicit
Sub ZeichSuE()
Dim strZ As String
Dim Cll As Range
Dim objZ As Range
strZ = "Status"
For Each Cll In ActiveWorkbook.Worksheets(1).Cells
Set objZ =ActiveWorkbook.Worksheets(1).Cells.Find _
(What:=strZ, LookAt:=xlPart)
If objZ Is Nothing Then
MsgBox "Keinen weiteren Eintrag"
Exit Sub
Else
objZ.Select
ActiveCell.Replace _
What:=strZ, Replacement:="Datum", LookAt:=xlPart
End If
Next Cll
Set objZ = Nothing
Set Cll = Nothing
End Sub
Das Makro läuft nicht zu Ende, sondern "bleibt hängen" bei der
ersten Zelle in meiner Tabelle mit einem Inhalt von 1039 Zeichen.
Bei einer Zelle mit einem Inhalt von 902 Zeichen läuft das Makro
noch.
Es scheint also, dass das Ersetzen nicht funktioniert, wenn der
Zelleninhalt eine bestimmt Anzahl von Zeichen hat (irgendwo
zwischen 902 und 1039 Zeichen muß die Grenze sein?).
Ich habe in der VBA-Excel-Hilfe gelesen, daß die maximale Anzahl
von Zeichen in einer Excel-Zelle 32.767 ist; in der Zelle selbst
kann nur 1.024 Zeichen gezeigt werden, aber in der Formelleiste
alle bis zum 32.767 Zeichen.
Ich habe aber nichts finden können, was darauf hinweist, dass
ActiveCell.Replace bzgl. der Anzahl von Zeichen in einer Zelle
beschränkt ist.
Was tue ich denn falsch???
Vielen Dank fürs Feedback im Voraus!!!
Leslie Anne
in einer größeren Excel-Tabelle möchte ich mit VBA code eine
Zeichenfolge suchen und ersetzen. Die Zeichenfolge taucht
innerhalb der jeweiligen Zelle mehrmals auf.
Folgendes Makro habe ich dafür geschrieben:
Option Explicit
Sub ZeichSuE()
Dim strZ As String
Dim Cll As Range
Dim objZ As Range
strZ = "Status"
For Each Cll In ActiveWorkbook.Worksheets(1).Cells
Set objZ =ActiveWorkbook.Worksheets(1).Cells.Find _
(What:=strZ, LookAt:=xlPart)
If objZ Is Nothing Then
MsgBox "Keinen weiteren Eintrag"
Exit Sub
Else
objZ.Select
ActiveCell.Replace _
What:=strZ, Replacement:="Datum", LookAt:=xlPart
End If
Next Cll
Set objZ = Nothing
Set Cll = Nothing
End Sub
Das Makro läuft nicht zu Ende, sondern "bleibt hängen" bei der
ersten Zelle in meiner Tabelle mit einem Inhalt von 1039 Zeichen.
Bei einer Zelle mit einem Inhalt von 902 Zeichen läuft das Makro
noch.
Es scheint also, dass das Ersetzen nicht funktioniert, wenn der
Zelleninhalt eine bestimmt Anzahl von Zeichen hat (irgendwo
zwischen 902 und 1039 Zeichen muß die Grenze sein?).
Ich habe in der VBA-Excel-Hilfe gelesen, daß die maximale Anzahl
von Zeichen in einer Excel-Zelle 32.767 ist; in der Zelle selbst
kann nur 1.024 Zeichen gezeigt werden, aber in der Formelleiste
alle bis zum 32.767 Zeichen.
Ich habe aber nichts finden können, was darauf hinweist, dass
ActiveCell.Replace bzgl. der Anzahl von Zeichen in einer Zelle
beschränkt ist.
Was tue ich denn falsch???
Vielen Dank fürs Feedback im Voraus!!!
Leslie Anne