ich habe mir ein Makro gebaut, dass bestimmten Text aus Kommentaren sucht und u.a. der Reihe nach von unten nach oben anzeigt. Die Tabelle hat ca. 3500 Zeilen, in 3 Spalten soll gesucht werden und es hat ca. 1300 Kommentare, diese werden immer mehr. In Excel 2003 lief dies innerhalb von ca. 2 Sek. bis der erste Text gefunden wurde, bei Excel 2013 dauert dies mehr als 30 Sek., außerdem kommt in meinem Userform die Meldung:"Keine Rückmeldung", es läuft aber weiter. Ich habe jetzt Application.ScreenUpdating = False eingebaut, damit funktioniert die Möglichkeit alle Kommentare mit dem Suchtext anzuzeigen und alle Kommentare einzufärben, aber leider nicht die Kommentare der Reihe nach von unten nach oben anzuzeigen. Dort kommt fast immer in meinem Userform "Keine Rückmeldung." Ich könnte noch mit der langen Zeit leben, aber die Meldung stört sehr. Ich las mit DoEvents kann ich diese Meldung ausblenden, weiß aber nicht wie und wo ich dies einbauen soll. Am liebsten wäre mir natürlich eine Möglichkeit dies so schnell wie mit Excel 2003 zu realisieren.
In meiner Beispieldatei sind nur wenige Kommentare, deshalb nur manchmal die Meldung und sehr kurz.
Vielen Dank und auf Hilfe hoffend
Wolfgang
Hier noch ein Ausschnitt aus meinem Makro:
'''steht das Folgende hier nicht, wird der erste Fund nicht markiert,
Application.ScreenUpdating = True
'Markieren von unten nach oben (For each geht nur von oben nach unten),
For i = maxRow To 9 Step -1
For x = 5 To 3 Step -1
If Not Sheets("Werte").Cells(i, x).Comment Is Nothing Then
If InStr(UCase(Sheets("Werte").Cells(i, x).Comment.Shape.DrawingObject.Text), varAbfrage) > 0 Then
Zaehler = Zaehler + 1
ActiveSheet.Cells(i, x).Comment.Visible = True
ActiveSheet.Cells(i, x).Select
Label7.Visible = True
Label7.Caption = "Es ist die " & Zaehler & ". Zelle markiert"
UserForm7.Show
Do
DoEvents
If geklickt = True Then Exit Do
If verlassen = True Then Exit Sub
Loop
geklickt = False
ActiveSheet.Cells(i, x).Comment.Visible = False
End If
If GesZaehler - 1 = Zaehler Then
UserForm7.CommandButton1.Enabled = False
End If
End If
Next x
Next i
https://www.herber.de/bbs/user/88960.xlsm