Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Help ! Komme mit der Reihenfolges des Codes nicht klar





Frage

Hallo zusammen, brauch leider nochmal Unterstützung, bekomme den Code nicht hin. [b] Alt: Textfeld löst Code aus - funktioniert wie es will[/b] Sub Textfeld24_BeiKlick() If Sheets("Tabelle1").Visible = True Then Sheets("Tabelle1").Activate Else UserForm1.Show End If End Sub [b]Neu: Hab jetzt umgestellt auf Zelle mit Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)[/b] Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) If Target.Address = "$B$6" and If Sheets("Tabelle1").Visible = True Then Sheets("Tabelle1").Activate Else UserForm1.Show End If End Sub So läuft das nicht ! Kann ein Profi bitte helfen. Danke vorab, Gruß, meikel [*][sup][i] *Threadedit* Admininfo: Führ bitte einen Thread nicht fort indem du Weitere eröffnest, und vermeide Mehrfachanfragen. Die Datenbank und User werden es dir danken. Siehe [u][url=https://supportnet.de/groupfaqs/3]FAQ 2.[/url][/u][/i][/sup]

Antwort 1 von Beverly

Hi Meikel,

wenn du im anderen Thread geblieben wärst, hätte ich eine Benachrichtigung bekommen.

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    If Target.Address = "$B$6" Then
        If Sheets("Tabelle1").Visible = True Then
            Sheets("Tabelle1").Activate
        Else
            UserForm1.Show
        End If
    End If
End Sub


Bis später,
Karin

Antwort 2 von rainberg

Hallo Meikel,

darf auch ein Nicht-Profi helfen?

Ich vermute, Du willst bei einem Klick auf B6 das UserForm1 öffnen?

Wenn ja, dann reicht das:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Address <> "$B$6" Then Exit Sub
UserForm1.Show
End Sub

Gruß
Rainer

Antwort 3 von Meikel

Hallo Karin, hallo Rainer,

besten Dank für die prompten Antworten.
Karin hat genau das codiert was ich gesucht habe.

Ich hab zusätzlich noch eine Frage zu dem Ereignis:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)

Wenn ich über eine definierte Zelle gehe, bleibt der Rahmen auf dieser Zelle stehen. Wenn man dann ein zweites Mal darauf drückt passiert gar nichts mehr.

Kann man das so aussteuern, das wenn das Ereignis abgeschlossen ist oder abgebrochen wurde, soll heißen 1x Mal auf die Zelle, dann springt der Cursor z.B. zurück auf die Zelle A1.

Geht das?

Nochmals vielen herzlichen Dank für Eure Antworten.
Viele Grüße, meikel

Antwort 4 von Beverly

Hi Meikel,

das SelectionChange-Ereignis wird immer dann ausgeführt, wenn die betreffende Zelle "selektiert" wird. Steht der Cursor schon in der Zelle, wird der Code bei einem Klick darauf nicht noch einmal ausgeführt, weil die Zelle ja bereits selektiert ist. Das könnte man dann höchstens mit dem Doppelklick- oder dem Rechtsklick-Ereignis bewirken

Füge folgende Zeile ein, damit die Zelle A1 angesprungen wird

Range("A1").Select

Bis später,
Karin

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: