Hallo
ich habe unter Office 2010 eine Exceldatei, in der pro Zeile in max 50 Zellen Namen stehen.
Es sind derzeit ca. 40 Zeilen vorhanden, optisch also ein Wald voller Namen. Um hier doppelte Namen zu entdecken, habe ich eine kleine Routine geschrieben, die problemlos funktioniert.
Wenn nun ein doppelter Name entdeckt und farbig gekennzeichnet wird, spring der Inhalt des Bildschirms so, daß die Zelle mit dem Namen in den Sichtbereich des Bildschirms kommt.
Da die Namensfindung kreuzweise durcheinander läuft, ist auch die Anzeige am Bildschirm mächtig am springen.
Um das abzuschalten, habe ich „application.screenupdating=false“ gesetzt. Damit ist Ruhe.
Nun aber könnte ein Benutzer denken, der Rechner arbeite überhaupt nicht. Also möchte ich einen Text zur Anzeige bringen, der aussagt, daß das Programm arbeitet.
Verwende ich dazu eine Userform, stoppt das Makro nach dem Aufruf und läuft erst weiter, wenn ich die Userform per Maus schließe.
Verwende ich ein Textfeld (Label) und schalte dieses v o r „…screenupdating=false“ auf „visible =true“, wird es nicht angezeigt!
Warum das so ist, weiß ich nicht, da das visible=true zuerst kommt und dann erst das Sperren des Updating.
Weiß jemand, warum das nicht geht? Der Code ist wie folgt:
Private Sub CommandButton3\_Click()
Label1.Visible = True
Label2.Visible = True
Anz = Anszeilen 'Anzahl genutzter Zeilen ermitteln
Application.ScreenUpdating = False
For i = 3 To Anz 'Schleife über alle Zeilen
j = 2
While Not IsEmpty(Cells(i, j)) 'Schleife über alle Namen einer Zeile
Call Gefunden(i, j) 'Namenssuche in Routine "Gefunden"
j = j + 1
Wend
Next i
Application.ScreenUpdating = True
Label1.Visible = False
Label2.Visible = False
End Sub
Gruß
Pauli