Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Worksheet_Deactivate() wie komme ich aus dem Blatt?
#1
Hallo in die Runde,


ich habe folgendes Makro im VBAProjekt unter der Tabelle eingefühgt:


Private Sub Worksheet_Deactivate()
Call Makro4
End Sub



Das Makro wird auch beim Verlassen des Blatts ausgeführt - nur komme ich jetzt nicht mehr aus dem Blatt raus..

Was habe ich vergessen ?

Danke für Anregungen.

LG
ingo
Antworten Top
#2
Falls die Frage kommt:

Der Inhalt des Makro4
Sub Makro4()
'
' Makro4 Makro
'
'
     Sheets("excel_BFS").Select
     Columns("A:A").Select
    Range("A6").Activate
    Selection.NumberFormat = "@"
    Range("A6:A110").Select
    Selection.TextToColumns Destination:=Range("A6"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(1, 1), TrailingMinusNumbers:=True
End Sub
Antworten Top
#3
Hallo Ingo,

(25.11.2016, 14:28)IngoScha schrieb: Was habe ich vergessen ?

funktionell nichts, aber uns mitzuteilen, welchem Tabellenblatt die Deactivate-Routine hinterlegt wurde. Wink

Vermutlich dem, welches durch "Sheets("excel_BFS").Select" selektiert wird? Wink

Gruß Uwe
Antworten Top
#4
(25.11.2016, 15:41)Kuwer schrieb: Hallo Ingo,


funktionell nichts, aber uns mitzuteilen, welchem Tabellenblatt die Deactivate-Routine hinterlegt wurde. Wink

Vermutlich dem, welches durch "Sheets("excel_BFS").Select" selektiert wird? Wink

Gruß Uwe

Hallo Uwe,

das Worksheet_Deactivate() hab ich im VBAProject Tablelle4  (Excel_BFS) hinterlegt.

LG
ingo
Antworten Top
#5
Hallo Ingo,

(25.11.2016, 15:49)IngoScha schrieb: das Worksheet_Deactivate() hab ich im VBAProject Tablelle4  (Excel_BFS) hinterlegt.

womit Du Dir Deine Frage selbst beantwortet hast. Smile

Gruß Uwe
Antworten Top
#6
(25.11.2016, 15:57)Kuwer schrieb: Hallo Ingo,


womit Du Dir Deine Frage selbst beantwortet hast. Smile

Gruß Uwe

Hallo Uwe,

wenn ich aber das Sheets ("Excel_BFS") weg lasse bekomme ich eine Laufzeitfehler wegen der Select-Methode.....

Private Sub Worksheet_Deactivate()
Columns("A:A").Select
    Range("A6").Activate
    Selection.NumberFormat = "@"
    Range("A6:A110").Select
    Selection.TextToColumns Destination:=Range("A6"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(1, 1), TrailingMinusNumbers:=True
End Sub

Wo habe ich da den Fehler? Ich möchte, dass beim verlassen des Blatts, A6 bis A110 als Text definiert werden.

Danke schon mal für Deine Hilfe.

LG
ingo
Antworten Top
#7
(25.11.2016, 16:04)IngoScha schrieb: Hallo Uwe,

wenn ich aber das Sheets ("Excel_BFS") weg lasse bekomme ich eine Laufzeitfehler wegen der Select-Methode.....

Private Sub Worksheet_Deactivate()
Columns("A:A").Select
    Range("A6").Activate
    Selection.NumberFormat = "@"
    Range("A6:A110").Select
    Selection.TextToColumns Destination:=Range("A6"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(1, 1), TrailingMinusNumbers:=True
End Sub

Wo habe ich da den Fehler? Ich möchte, dass beim verlassen des Blatts, A6 bis A110 als Text definiert werden.

Danke schon mal für Deine Hilfe.

PS: wenn ich mit ActiveSheet. arbeite:

Private Sub Worksheet_Deactivate()
    ActiveSheet.Range("A6:A110").Select
    ActiveSheet.Range("A6").Activate
    Selection.NumberFormat = "@"
    ActiveSheet.Range("A6:A110").Select
    Selection.TextToColumns Destination:=Range("A6"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(1, 1), TrailingMinusNumbers:=True
End Sub

Wird die Änderung erst auf dem folgenden Blatt ausgeführt.

LG
ingo
Antworten Top
#8
Hallo Ingo,

(25.11.2016, 16:04)IngoScha schrieb: Wo habe ich da den Fehler? Ich möchte, dass beim verlassen des Blatts, A6 bis A110 als Text definiert werden.

ohne Selektieren sollte es gehen:
Private Sub Worksheet_Deactivate()
 With Range("A6:A110")
   .NumberFormat = "@"
   .TextToColumns Destination:=.Cells(1), DataType:=xlDelimited, _
       TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
       Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
       :=Array(1, 1), TrailingMinusNumbers:=True
 End With
End Sub
Siehe dazu auch hier: Achtung Makrorekorder oder Wer selektiert denn da?

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • IngoScha
Antworten Top
#9
Mensch Uwe,

ein fettes DANKESCHÖN...

Und ja, Du hast recht - der Makrorekorder ist nicht immer dein Helfer Wink

Schönes WE

LG
ingo
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste