Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
484to488
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
484to488
484to488
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro bleibt stehen

Makro bleibt stehen
13.09.2004 16:14:08
Stoffel
Hallo zusammen, mein Makro bleibt vor einer scheinbar problematischen Zeile stehen. Die Datei liegt auf dem Server https://www.herber.de/bbs/user/10847.xls. Vor Zeile 2 bleibt das Makro stehen. Ich kann nicht erkennen, woran das liegt. Danke für eine Antwort, Stoffel

Sub Stoffel()
Sheets("Tabelle1").Cells.Replace What:="##", Replacement:=Chr(10), _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro bleibt stehen
13.09.2004 18:48:38
Axel
Hallo Stoffel,
das Problem ist der Inhalt der Zelle F3. Diese enthält 989 Zeichen.
Nach meinen Tests darf der Zellinhalt + Suchstring + Ersetzungsstring max. 913 Zeichen betragen.
Du kannst das einfach nachvollziehen, indem du die Zelle auswählst und dann per Hand die Ersetzung durchführst (über &ltStrg&gth). Es erscheint dann die Fehlermeldung "Formel ist zu lang"
Bei Verwendung von VBA-Code zum Ersetzen über Replace() erscheint dann keine Fehlermeldung und die Ersetzung wieder einfach terminiert.
Unbefriedigend aber leider eine Tatsache.
Gruß
Axel
AW: Makro bleibt stehen
Reinhard
Hi Stoffel,
lass mal searchformat und replaceformat weg, die finde ich bei mir gar nicht, xl2000.
Weiterhin ist Zelle F3 mit 989 Zeichen anscheinend zu groß, kann an replace liegen oder am verfügbaren Speicher *mutmaß*
Beim nachfolgenden Makro tritt bei mir der fehler bei 912 auf .

Sub Stoffel()
Range("A10") = ""
For n = 1 To 1000
Range("B10") = n
Range("A10") = Range("A10") & "##"
Range("A10").Replace What:="##", Replacement:=Chr(10), _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False
Next n
End 

Sub
Dieses Makro läuft ohne Fehlermeldung, aber die "##" in F3 bleiben bestehen, muss noch jmd verbessern:

Sub Makro1()
For Each Zelle In UsedRange.Cells
If Len(Zelle.Value) < 900 Then
Zelle.Replace What:="##", Replacement:=Chr(10), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Else
satz = Zelle.Value
n = 1
While n
satz = Left(satz, n - 1) & Chr(10) & Mid(satz, n + 2)
n = InStr(n, satz, "##")
Wend
End If
Next Zelle
End Sub

Gruß
Reinhard
Anzeige
AW: Makro bleibt stehen
14.09.2004 11:16:56
Hans
Hallo,
das Problem liegt in der Tat in der Textlänge. Verwende dieses Makro:

Sub Ersetzen()
Dim rng As Range
For Each rng In ActiveSheet.UsedRange.Cells
rng.Value = WorksheetFunction.Substitute(rng.Value, "##", Chr(10))
Next rng
End Sub

Gruss hans

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige