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

SelectChange ausschalten

SelectChange ausschalten
16.11.2005 23:11:11
Gerhard
Hallo!
Habe mit folgenden Code "Application.EnableEvents = False" die
"Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)" ausgeschaltet.
Kann sie aber nicht mehr einschalten oder besser gesagt nur manchmal gelingt es und dann wieder nicht, mit folgenden Code:
"Application.EnableEvents = True"
Kann mir jemand sagen was da nicht stimmen kann?
Gruss
Gerhard

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SelectChange ausschalten
16.11.2005 23:13:06
Leo
Hi,
poste mal den ganzen Code, der in Selection_Change steht.
mfg Leo
AW: SelectChange ausschalten
16.11.2005 23:23:48
Gerhard
Hallo Leo!
Danke für deine Hilfe!
Der Code in SelectCange macht in Verbindung mit den Blattschutz Probleme. Wenn ich ein anderes Macro ausführe kopieren od. löschen dann geht das nicht auch wenn ich den Blattschutz auschalte. Sobald ich die Zelle wechsle schaltet SelectChange den Blattschutz wieder ein.Drum hab ich gedacht ich schalt SelectChange einfach aus wenn ich andere Macros ausführe wo ich SelectChange nicht brauch.
Habe keine Ahnung wie ich das anders lösen könnte?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static Row As Range
Call BlattschutzAus
ActiveSheet.Range("3:240").Font.Size = "10"
ActiveSheet.Range("3:240").EntireRow.RowHeight = "14"
ActiveSheet.Range("A3:C240").Interior.ColorIndex = "19"
ActiveSheet.Range("D3:D240").Interior.ColorIndex = "24"
ActiveSheet.Range("A3:M240").Font.ColorIndex = xlAutomatic
Call Blattschutz
On Error GoTo Schluss
If Target.Row >= 3 And Target.Row < 240 Then
If Target.Offset(0, -1) <> "" Then
If Target.Column = 4 Then
Call BlattschutzAus
Vergrößern Target.Offset(0, -1).Address(False, False)
Rows(Target.Row).Font.Size = "19"
Rows(Target.Row).RowHeight = "28"
Rows(Target.Row).Interior.ColorIndex = xlColorIndexNone
Target.Offset(0, -1).Font.ColorIndex = "3"
Target.Offset(0, -1).Font.Size = "29"
Call Blattschutz
End If
Else
Call BlattschutzAus
Anzeige_löschen
Call Blattschutz
End If
Else
Call BlattschutzAus
Anzeige_löschen
Call Blattschutz
End If
Exit Sub
Schluss:
Call BlattschutzAus
Anzeige_löschen
Call Blattschutz
End Sub

Gruss
Gerhard
Anzeige
AW: SelectChange ausschalten
16.11.2005 23:42:06
Leo
Hi,
du solltest den Code besse strukturieren, ist kaum lesbar.
Was soll das bedeuten?
Vergrößern Target.Offset(0, -1).Address(False, False)
mfg Leo
AW: SelectChange ausschalten
16.11.2005 23:55:54
Gerhard
Hallo!
Bin VBA Anfänger und hab einen Code aus einer Datenbank genommen und ihn umgeschrieben für meine Anforderung. Das "Vergrößern Target.Offset(0, -1).Address(False, False)" war der eigentliche Beginn der Geschichte es wird der Inhalt der Zelle in Spalte 3 vergrößert in einem eigenen Fenster dargestellt. Die dazugehörigen Codes hänge ich an.

Sub Vergrößern(Zelle As String)
Anzeige_löschen
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 231.55, ActiveCell.Top, _
190, 55.55).Select
'ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 5, 59.25, _
'    170, 45#).Select
Selection.Name = "Anzeige"
Selection.HorizontalAlignment = xlCenter
Selection.Characters.Text = "Produktionslinie" & Chr(10) & Range(Zelle)
With Selection.Characters(Start:=1, Length:=Len(Selection.Text)).Font
.Name = "Tahoma"
.FontStyle = "Fett"
.Size = 20
.ColorIndex = 5
End With
Range(Zelle).Offset(0, 1).Select
End Sub


Sub Anzeige_löschen()
On Error GoTo Ende
ActiveSheet.Shapes("Anzeige").Select
Selection.Delete
Ende:
End Sub

Es funktioniert an sich super bei klick in Spalte "D" werden Zeilenhöhe und Schrift vergrössert, die Farbe der Zelle u. Schrift geändert und die Zelle der Spalte "C" in einem eigenen Fenster vergrössert dargestellt. Brauche das weil das ganze auch von einiger Entfernung am Bildschirm ablesbar sein soll, auch für "Schlechtseher".
Aber!!
Wären da nicht die andern Macros mit denen ich das Select auslöse und der Blattschutz!
Gruss
Gerhard
Anzeige
AW: SelectChange ausschalten
17.11.2005 00:27:50
Gerhard
Hallo!
Habs reinkopiert, geht aber auch nicht!
Ist schon spät! Mach jetzt Schluss! meld mich morgen wieder.
Herzlichen Dank für deine Hilfe zur nächtlichen Stunde!!
Angenehme Nachtruhe wünscht
Gerhard
AW: Falls das eigentl Problem darin bestehen...
17.11.2005 02:19:13
Luc:-?
...sollte, Gerhard,
dass der Blattschutz das Ausführen von zelländernden Makros verhindert, parametrierst du .Protect am besten noch mit UserInterfaceOnly:=True. Dadurch wdn Änderungen durch Makroaktionen möglich, manuelle Änderungen weiter verhindert.
Gruß Luc :-?
Anzeige
AW: Falls das eigentl Problem darin bestehen...
17.11.2005 17:01:50
Gerhard
Hallo Luc!
Danke für deinen Beitrag!
Das ist es auch nicht. "UserInterfaceOnly:=True." ist eingestellt.
Es funktioniert ja auch. Nur wenn ich etwas manuell ändere passiert es aus mir unerklärlichen Gründen, dass es nicht mehr funktioniert. Glaube das sich das "SelectChange" nicht mehr einschalten lässt.
Gruss
Gerhard

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige