Problem mit userform!

Hallo,

ich habe in Excel ein Add - In geschrieben, dass ein Userform zeigt, in das man eine Zelladresse eingeben kann und das dann die entsprechende Zelle aktiviert. Das Problem ist, dass nachdem das Userform wieder versteckt wird, das Excel Fenster nicht mehr aktiv ist, ich muss es also immer wieder anklicken, was den Prozess soweit verlangsamt, dass das ganze Add In nutzlos wird. Auch windows("").activate bringt an dieser Stelle irgendwie nichts. Gibt es da eine Moeglichkeit, dass das Fenster nachher automatisch wieder angewaehlt wird ?

Vielen Dank fuer die Hilfe,

Axxel

Hi Axxel,

ich habe in Excel ein Add - In geschrieben, dass ein Userform
zeigt, in das man eine Zelladresse eingeben kann und das dann
die entsprechende Zelle aktiviert. Das Problem ist, dass
nachdem das Userform wieder versteckt wird, das Excel Fenster
nicht mehr aktiv ist, ich muss es also immer wieder anklicken,
was den Prozess soweit verlangsamt, dass das ganze Add In
nutzlos wird.

Ich weiß nicht was im Code des Add Ins steht.

Auch windows("").activate bringt an dieser

Stelle irgendwie nichts. Gibt es da eine Moeglichkeit, dass
das Fenster nachher automatisch wieder angewaehlt wird ?

Ins Blaue, Application.Visible=true beim Beenden der UF

Und anstelle von Excel wüßte ich auch nicht welches fenster du mit
windows("") meinst :smile:

Gruß
Reinhard

Jaja, ich gebe es ja zu, ich war etwas ungenau :wink:

Ich weiß nicht was im Code des Add Ins steht.

Der Code lautet :

Sub directto()
UserForm1.TextBox1.SetFocus
UserForm1.Show
Dim wbook As String
wbook = ActiveWorkbook.Name
Dim columnref As String
Dim rowref As String

If UserForm1.TextBox1.Value "" Then
columnref = UserForm1.TextBox1.Value
Else
columnref = "A"
End If

If UserForm1.TextBox2.Value "" Then
rowref = UserForm1.TextBox2.Value
Else
rowref = ActiveCell.Row
End If

ActiveSheet.Range(columnref & rowref).Activate

UserForm1.TextBox1.Value = ""
UserForm1.TextBox2.Value = ""
UserForm1.TextBox1.SetFocus
Windows(wbook).Activate


End Sub

Nachdem die Zelle also aktiviert wurde (was funktioniert) ist, wie gesagt, das Excel Fenster nicht mehr aktiv.

Vielen Dank,

Gruss
Axxel

Hallo,

Nachdem die Zelle also aktiviert wurde (was funktioniert) ist,
wie gesagt, das Excel Fenster nicht mehr aktiv.

Notfalls kannst du auch mit der Windows API arbeiten.
Such einfach bei Google, zB:
Winapi fenster aktivieren

Gruß,
AlexR

Hallo,

Ebenfalls Hallo!

ich habe in Excel ein Add - In geschrieben, dass ein Userform
zeigt, in das man eine Zelladresse eingeben kann und das dann
die entsprechende Zelle aktiviert.

Warum nutzt Du nicht einfach Menü Bearbeiten -> Gehe Zu …
und gibst bei Verweis die Zelladresse ein!? Welchen Vorteil bringt Dir das Add-In?

Gruß, tester!

noch als Ergänzung:

setz ein

Application.Visible = True

ans Ende Deines Codes. Dann wird die Arbeitsmappe wieder aktiv.

Und hast Du wirklich den gesamten Code wie dargestellt in einer einzigen Prozedur?
Das kann nicht funktionieren, da der Code nach Show erst nach Schließen der Userform ausgeführt wird und dann die Werte der Textfelder nicht mehr belegt sind. Ich denke mal der zweite Teil gehört in eine Ereignisprozedur einer Schaltfläche auf der Userform o.ä.

Viele Grüße, tester!

Hallo,

Warum nutzt Du nicht einfach Menü Bearbeiten -> Gehe Zu …
und gibst bei Verweis die Zelladresse ein!? Welchen Vorteil
bringt Dir das Add-In?

Bei dem Add in geht es mir darum, in grossen Spreadsheets schnell zum Beispiel zu bestimmten Orten (Bsp. Spalte EV) zu wechseln. Der Menuebefehl ist deutlich umstaendlicher, ausserdem muss ich da immer Zeile und Spalte eingeben, im Gegensatz zum Add - In.

Gruß, tester!

Gruss, Axxel

Hi,

vielen Dank fuer die Antwort (sorry, ich hatte gestern kein Inet…)

Application.Visible = True

–> funktioniert super !

Und hast Du wirklich den gesamten Code wie dargestellt in
einer einzigen Prozedur?

Ne, im Userform befindet sich ein OK Button, hinter dem userform1.hide liegt ! Der Rest ist ein einer Prozedur (wie gepostet…)

Das kann nicht funktionieren, da der Code nach Show erst nach
Schließen der Userform ausgeführt wird und dann die Werte der
Textfelder nicht mehr belegt sind. Ich denke mal der zweite
Teil gehört in eine Ereignisprozedur einer Schaltfläche auf
der Userform o.ä.

Viele Grüße, tester!

Viele Gruesse,
Axxel