VBA Blatt anwählen und direkt los schreiben bei geöffneter UserForm
#1
Huhu
ich habe mich nun doch für ein Inhaltsverzeichnis mit einer Userform per button klick entschieden.
Die Userform schließt sich nicht von allein, soll dieses auch nicht.

Problem:
wenn ich nun über einen button ein Tabellenblatt anwähle, ist die UserForm weiterhin das aktive Fenster und ich muss erst in das Tabellenblatt klicken um da etwas rein zu schreiben.

Ziel:
wenn ich über einen Button ein Tabellenblatt anwähle möchte ich direkt losschreiben können, ohne vorher noch ins Tabellenblatt zu klicken


Verwendeter Code:

Code:
Private Sub 1_Click()
Sheets("1").Select
If IsEmpty([A3]) Then
       [A3].Select
   Else
       [A3].End(xlDown).Offset(1).Activate
   End If
End Sub


Ich hoffe ihr könnt mir helfen :)

schon mal Danke im Vorraus.
Top
#2
Das habe ich in einem anderen forum gefunden (beitrag von 2015) weiß aber nicht wie ich das umsetze.


Zitat:mit einem API-Aufruf kann der Focus wieder auf das Tabellenblatt gesetzt werden.
Code für Tabelle1:
-------------------------
Private Sub Worksheet_Activate()
UserForm1.Show
SetForegroundWindow (Application.hwnd)
End Sub
Code für Modul1:
------------------------
Public Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Top
#3
Hallöchen,

wie es da steht. der eine code muss in das codemodul der betroffenen Tabellenblätter, und der andere in ein normales Modul.

Du könntest aber bestimmt auch statt hinter jedes Tabellenblatt auchin DieseArbeitsmppe das Makro
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
verwenden
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#4
Vielen Dank, funktioniert.
Ich wusste bis zum 13.01 nichtmal was ein Modul ist xD.
Habe am 13.01 einen Grundlagen Kurs besucht und jetzt verstehe ich mehr, was ich da nutze ;D
Top


Gehe zu:


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