Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
316to320
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
316to320
316to320
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bildschirmflackern verhindern mal anders...

Bildschirmflackern verhindern mal anders...
01.10.2003 15:20:58
Martin Halberstadt
Hallo liebe Forumsbesucher,

folgendes Problem:
Ich habe eine funktionierende Suchfunktion, welche leider ein unschönes Flackern verursacht. Und zwar gebe ich in einer InputBox einen Begriff ein.
Bsp.: Sch*
Nun werden 4 Tabellenblätter nach solchen Zellen durchsucht und nacheinander, nur von einer kurzen Abfrage (Weiter, Abbrechen) unterbrochen, wird durch diese Zellen durchgehopst.

Nun flackert bei jedem Hopsen der Bildschirm.
Mit ScreenUpdating = False kann man sowas ja unterbinden, allerdings sehe ich dann auch nicht mehr, wo ich hinspringe.

Wer kann mir helfen?

Vielen Dank, Leute.

MfG,
Martin Halberstadt

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bildschirmflackern verhindern mal anders...
01.10.2003 15:26:07
Thomas
Hallo Martin,

theoretisch müßte es ja so ablaufen, dass zunächst der Begriff gesucht wird und dann die Zelle aktiviert wird. Setz' doch einfach ein Screenupdating = true dazwischen.

Thomas
AW: Bildschirmflackern verhindern mal anders...
01.10.2003 17:02:49
Martin Halberstadt
Hallo Thomas,

das habe ich schon. Aber vielleicht ja an der falschen Stelle.

Hier ist mein Code:


Private Sub cmdSchnellsuche_Click()
Tabelle1.cmdSchnellsuche.TakeFocusOnClick = False
Dim i As Integer
Dim wks As Worksheet
Dim rng As Range
Dim sAddress As String, sSchnellsuche As String
sSchnellsuche = InputBox("Bitte Namen/Suchbegriff eingeben:", "Schnellsuche")
If sSchnellsuche = "" Then
Exit Sub
End If
Application.ScreenUpdating = True
For i = 2 To 5
Set rng = Sheets(i).Cells.Find(what:=sSchnellsuche, LookIn:=xlFormulas, lookat:=xlPart, SearchOrder:=xlByColumns)
If Not rng Is Nothing Then
sAddress = rng.Address
With rng.Interior
.ColorIndex = 35
.Pattern = xlSolid
End With
Do
Application.Goto rng, False
If MsgBox(prompt:="Weiter suchen?", Buttons:=vbYesNo + vbQuestion) = vbNo Then
With rng.Interior
.ColorIndex = 0
.Pattern = xlSolid
End With
Tabelle1.Activate
Exit Sub
End If
With rng.Interior
.ColorIndex = 0
.Pattern = xlSolid
End With
Set rng = Sheets(i).Cells.FindNext(After:=ActiveCell)
With rng.Interior
.ColorIndex = 35
.Pattern = xlSolid
End With
If rng.Address = sAddress Then
With rng.Interior
.ColorIndex = 0
.Pattern = xlSolid
End With
Exit Do
End If
Loop
End If
Next i
MsgBox prompt:="Die Schnellsuche konnte keine bzw. keine weiteren übereinstimmenden Daten finden. Bitte überprüfen Sie Ihre Eingabe auf eventuelle Rechtschreibfehler und versuchen Sie es erneut."
Tabelle1.Activate
End Sub


Vielleicht kannst Du ja anhand des Codes eine Lösung finden.

Vielen Dank erstmal.

MfG,
Martin Halberstadt
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige