Folgendes Problem:
Tabelle1 einer Arbeitsmappe ist geöffnet,
über das Steuerelement "Refedit1" einer userform wird eine Zelle z.B. A1 in
einem Tabellenblatt (z.B. Tabelle2) markiert. In "Refedit1" steht jetzt:
"Tabelle2!$A$1"
Jetzt soll dem Steuerelement "Refedit2" wiederum eine Zelle in Tabelle2
zugewiesen werden. Damit der user nicht erneut auf den Reiter "Tabelle2"
klicken muß, wäre es schön, wenn diese Selektierung durch den Bezug zur
RefEdit1 automatisch hergestellt werden könnte (zumal sich dieser Vorgang bis
zu 5 mal wiederholt). Ist dies möglich? Wenn ja, wie?
Habe es folgendermaßen versucht, es funktioniert nur nicht:
Private Sub RefEdit2_Enter()
RefEdit1.Worksheet.Activate
End Sub
Viele Dank im voraus un Gruß
Okko
hallo Okko,
probiers mal mit Range(Refedit1).Worksheet.Activate
Gruß
stefan
vielen Dank für Deine Antwort. Leider funktioniert dies auch nicht.
Habe es auch schon mit den Variationen (.Select und .EnableSelection)
versucht. Leider ohne Erfolg.
Gruß Okko
Ich habe RefEdit1 mal als Textfeld angelegt. Allerdings haben
Textfelder keine Eigenschaft namens Worksheet. Du könntest stattdessen
den Namen der Tabelle in RefEdit1 ("Tabelle2") aus dem Textfeld
extrahieren und diese Tabelle über die Sheets-Collection aktivieren:
Sheets(Left(RefEdit1, WorksheetFunction.Find( _
"!", RefEdit1) - 1)).Activate
Peter
hallo Okko,
ich nehme an, du wechselst von RefEdit1 direkt auf RefEdit2. Wenn du
dazwischen auf ein anderes Steuerelement (zB Textbox) klickst,
funktioniert die Tabellen-Vorauswahl bei RefEdit2. Beim direkten
Wechsel sieht man bei anklicken von RefEdit2, dass die eigentlich
aktive Tabelle und auch die bei RefEdit1 ausgewählte Tabelle markiert
sind. Im Moment fällt mir nur ein workaround ein: im RefEdit1_Exit den
Focus mit SetFocus auf ein anderes (unsichtbares) Steuerelement zu
legen. dadurch wird die Eingabe bei RefEdit1 abgeschlossen. Allerdings
muss man dann RefEdit2 2x anklicken. :(
Mal sehen, vielleicht finden wir ja noch was schlaueres.
Gruß
stefan
teste mal das Ereignis RefEdit2_DropButtonClick. Damit funktioniert
der Tabellenwechsel, du bist allerdings darauf angewiesen, das der
Dropbutton auch geklickt wird.
stefan
herzlichen Dank für Eure Antworten!
Das hat mich sehr weitergebracht. Habe möglicherweise eine Lösung im Auge,
wie es mit einem Klick funktioniert, noch besser wäre kein Klick. werde in
den nächsten Tagen mal berichten.
Schade, daß es mit...
Private Sub TextBox1_Enter()
RefEdit2.SetFocus
End Sub
... nicht funktioniert.
Gruß
Okko
glaube eine Lösung gefunden zu haben, wie es ohne Klicks funktioniert.
Es scheint doch einfacher zu sein als zunächst befürchtet und funktioniert
ohne Umwege über die Textbox:
Private Sub RefEdit1_Change()
If RefEdit1 <> "" And RefEdit1 <> Left(RefEdit1, InStrRev(RefEdit1, "!")) Then
RefEdit2.SetFocus
Sheets(Left(RefEdit1, WorksheetFunction.Find("!", RefEdit1) - 1)).Activate
End If
End Sub
Jetzt sollten nur noch die Bedingungen formuliert werden, wann in die
RefEdit1 gehüpftt werden soll und wann in eine andere.
Vielen Dank für Eure Hilfe, ohne die hätte ich es nicht geschafft!
Gruß Okko