Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1212to1216
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhalt einer Textbox auswählen
Berny
Hallo Excelfreunde,
ich hab schon wieder ein Problem!
In einem VBA Formular kann man beim aktivieren einer Textbox mit
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
den gesamten Text auswählen um in ggf. zu überschreiben.
Nun habe ich aber eine Textbox aus der Steuerelemente-Toolbox auf einem Tabellenblatt.
Wie kann ich es in diesem Fall auswählen?
Hat einer eine Idee?
M.f.G.
Bernhard

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Inhalt einer Textbox auswählen
23.05.2011 18:01:31
Hajo_Zi
Hallo Bernhard,
Dein Code sollte doch alles markieren. Ansonsten
TXT_Firma.SetFocus
SendKeys "+{Home}"

AW: Inhalt einer Textbox auswählen
24.05.2011 09:38:11
Berny
Hallo Hajo,
vielen Dank für Deine Antwort,
also ich bekomme das nicht hin. Ich glaube du hast nicht registriert, dass ich auf einem Tabellenblatt bin und mit Steuerelementen arbeite - oder?
Das ".SetFocus" habe ich nur als Bsp. angeführt für das ich eine Ersetzung suche.
Ich habe mal meine "Spielwiese" hochgeladen https://www.herber.de/bbs/user/74977.xls
(Mit der Tabtaste wird das nächste Objekt ausgewählt)
M.f.G.
Bernhard
Anzeige
AW: Inhalt einer Textbox auswählen
27.05.2011 10:41:49
oberschlumpf
Hi Bernhard
Schreib für jede txtbox ins entsprechende Ereignis diesen Code:

Private Sub TextBox1_GotFocus()
With TextBox1
.SelStart = 0
.SelLength = Len(.Text)
End With
End Sub

Hilfts?
Ciao
Thorsten
AW: Inhalt einer Textbox auswählen
27.05.2011 14:37:43
Berny
Hallo Thorsten,
das ist genau das was ich in meiner Frage bereits erwähnt habe.
Das geht so im Dialog aber nicht im Steuerelement.
Schau dir bitte meine Hochgeladene Datei an!!!!!
M.f.G.
Bernhard
AW: Inhalt einer Textbox auswählen
27.05.2011 15:00:55
oberschlumpf
Hey Bernhard
Sorry, aber...nein, schreibe jetzt besser nicht, was ich gerade denke...
Hast du es WIRKLICH schon mal getestet?
Hier MEINE Bsp-Datei, die vorher DEINE war!
https://www.herber.de/bbs/user/75052.xls
Dein Wunsch, ich zitiere, "Nun habe ich aber eine Textbox aus der Steuerelemente-Toolbox auf einem Tabellenblatt.
Wie kann ich es in diesem Fall auswählen?"
Wenn du nun in MEINER Bsp-Datei mit TAB von einem STEUERELEMENT (Textbox) zum Nächsten wechselst, dann ist IMMER der Text in der Textbox vollständig markiert!
Und GENAU DAS wolltest du doch INNERHALB EINER TABELLE (nicht Userform) erreichen, oder?
Und mit meiner Datei ist genau das möglich.
HILFT ES DENN JETZT?
Übrigens...es ist FAST egal, ob ne Textbox in einem Userform oder in ner Tabelle steht.
Beide Textboxen haben die selben Eigenschaften!
Fast deshalb, weil die Textbox in der Tabelle MUSS aus der Steuerelemente-Toolbox kommen!
(was ja in deiner Bsp-Datei auch der Fall ist)
Ciao
Thorsten
Anzeige
AW: Sorry!!!!!
27.05.2011 15:26:24
Berny
Hallo Thorsten,
ich bin der, der sich entschuldigen muss! Ich hab das so oft erfolglos versucht direkt in mein "Tab"- Ereignis mit einzubauen, dass ich mir am Schluss absolut sicher war das geht so nicht!
Nun hast du mir das Gegenteil bewiesen.
Ich hatte wohl ein dickes Brett vor dem Kopf.
Danke!
M.f.G.
Bernhard
PS: Da du offenbar begnadeter bist als ich noch eine Frage: Geht das springen von einer Textbox zur nächsten auch über Aktivierfolge wie in einem VBA- Dialog?
(Das war eigentlich der Anfang meines Übels)
AW: Sorry!!!!!
27.05.2011 17:01:27
Oberschlumpf
Hi Bernhard
Freut mich, dass du deinen Irrtum eingesehen hast.
Zu deiner Frage wegen "gezielten" Wechsel durch TabStop:
So weit ich es sehe, gibt es bis Excel 2003 für Steuerelemente in einer Tabelle nicht die Eigenschaft TabIndex wie in einem Userform.
Daher hast du den Code im Ereignis KeyDown einer Textbox eigentlich schon richtig eingesetzt.
Was mich nur wundert ist, warum machst du es dir so schwer?
Du benutzt die Hilfsspalten A + B und suchst dann mit Hilfe der Excel-Suche den richtigen Wert.
Wenn ich richtig vermute, dass die Tab-Reihenfolge immer gleich sein soll, dann versuch es doch mal so:
(jetzt nur als Bsp für Textbox1)
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyTab Then TextBox2.Activate
End Sub

Den Rest wirst du bei VBA = gut doch selbst korrigieren können, oder?
Ist denn mein Beitrag hilfreich, oder kann es vorkommen, dass sich die Tabstop-Reihenfolge auch mal ändern muss?
Ciao
Thorsten
Anzeige
AW: Sorry!!!!!
27.05.2011 17:11:50
Berny
Hello again,
Danke für deinen Hilfeversuch!
Leider ist die Tabfolge variabel!
Und leider habe ich 80 Textboxen in dieser Tabelle - Das heißt ich brauche den Code 80 mal :-((
Eigentlich bräuchte ich ein Klassenmodul - aber so gut sind meine VBA- Kenntnisse dann doch nicht.
Nochmals Danke und schönes Wochenende
Bernhard
AW: Sorry!!!!!
27.05.2011 17:24:58
Oberschlumpf
Hi
Tja, selber Schuld!
Hättest du gleich sofort geschrieben, was genau du erreichen willst - nämlich 80 Textboxen ansprechen - dann hätte ich gar nicht das geschrieben, was ich ja nun umsonst schrieb, weils dir nich hilft.
Mal sehen, wenn ich Lust habe, dann versuch ich vielleicht nohc mal was - hab da so ne Idee.
Dafür aber...brauch ich von dir weitere Infos.
Was genau soll wann, warum, wie und wo geschehen?
Wovon ist es abhängig, wann sich die Reihenfolge ändert?
Am besten ist, du zeigst mir noch mal ne Bsp-Datei.
In der muss es aber genau so aussehen, wie in deiner Originaldatei.
Nein, musst keine 80 Textboxen einbauen. Aber 4 oder 5 so anordnen, wie es im Original ist. Und dann eben die Infos und Bsp-Daten was wann wie wo warum passiern soll.
Ciao
Thorsten
Anzeige
AW: Sorry!!!!!
27.05.2011 18:12:35
Berny
Hallo Thorsten,
selbst Schuld! Hättest du nicht angeboten mir zu helfen hättest du jetzt deine Ruhe.
https://www.herber.de/bbs/user/75057.xls
Der Dialog Dient im Grunde nur zum füttern einer Tabelle und soll übersichtlicher sein als eine Tabelle.
Zu guter letzt soll es als Ausgabe für einen Seriendruck tauglich sein.
Die Eingabe erfolgt jeweils in einer Besprechung (verschiedene Themenschwerpunkte) mit x Teilnehmern. Der Dialog soll dem Thema entsprechend angepasst sein. Das heißt manche Felder werden nicht benötigt deshalb werden sie anders angeordnet und in einer anderen Reihenfolge ausgewählt.
(Objekte die eben noch ganz oben in der Tabelle sind sind plötzlich ganz unten)
Da sich ein VBA- Dialog nicht drucken lässt und das Variable schieben von Elementen nicht von jedem User erwartet werden kann habe ich mich für die Exceltabelle entschieden.
Keine Angst! Das meiste existiert bereits und funktioniert.
Genau genommen bin ich an der Kosmetik.
Textboxen alle mit der Maus anklicken und den Inhalt immer mit der Maus auswählen ist nervig. Deshalb die Tabfunktion.
Einige Textboxen werden berechnet (sind in der Tabelle nicht vorhanden) dafür habe ich bereits für x Textboxen ein change – Ereignis eingefügt, bei der immer die selbe Berechnung abläuft. (Modul Berechnung)
Auch hierfür hätte ich schon ein Klassenmodul benötigt. „Wenn geändert dann Modul Berechnung ausführen“
Ich denke mehr brauch ich dann nicht.
Wenn Dir eine Lösung dazu einfällt, wird dir mein Dank ewig hinterher schleichen.
Bis Montag!
M.f.G.
Bernhard
Anzeige
ich bin raus
28.05.2011 03:01:33
Oberschlumpf
Hi Bernhard
Ich versuchte gerade dein Problem mit Tabwechsel nach Wunsch zu lösen.
In einem meiner Beiträge schrieb ich unter anderem
"Fast deshalb, weil die Textbox in der Tabelle MUSS aus der Steuerelemente-Toolbox kommen"
Nun stelle ich aber fest, dass zwar die Textbox für das Erstell-Datum aus der Symbolleiste "Steuerelemente-Toolbox" kommt, aber alle weiteren Textboxen, die ich überprüfte, sind aus der Symbolleiste "Formular".
Es kann zwar sein, dass man auch mit den Steuerelementen aus "Formular" deine Frage beantworten kann, aber ich hätte vllt eine Lösung für NUR Steuerelemente aus "Steuerelemente-Toolbox".
Bei Formular-Elemten kenne ich mich nicht aus.
Schade finde ich, dass du nicht wirklich das beachtest, was ich geschrieben habe.
Die Zeit hätte ich mir sparen können, sorry.
Und ich verstehe auch nicht, warum du gleichbedeutende Steuerelemente aus verschiedener Herkunft benutzt.
Nun mag ich nicht mehr.
Ciao
Thorsten
Anzeige
AW: Schade! Wollte dich nicht ärgern
29.05.2011 14:47:39
Berny
Hallo Thorsten,
das tut mir wirklich sehr leid!
Du hast mir jetzt vieleicht mehr geholfen als du ahnst.
Denn, ehrlich gesagt, das wusste ich selbst nicht mit dem mix aus Formular – und Steuerelementen. Jetzt weiß ich endlich warum ich diese Schwierigkeiten habe (hatte). Ich werde alles auf Steuerelemente umstellen!
Bitte werfe deine Arbeit nicht weg – hier ist einer der sie brauchen kann!
Ich werde meine Selbsteinschätzung von Excel gut auf Anfänger korrigieren.
Mehr als entschuldigen kann ich mich nicht.
M.f.G.
Bernhard
AW: Ich verstehe das nicht!
30.05.2011 11:14:37
Berny
Hallo Thorsten
Ich habe mir die Tabelle noch einmal angeschaut! Ich habe keine Ahnung wie hier Formularobjekte hinein gekommen sind!!!
Ich kann es noch nicht einmal bewusst tun. Das Symbol bei den Formularobjekten ist ausgegraut.
Es ist mir ein Rätsel!
Wenn ich in den Bearbeitungsmodus schalte bekomme ich bei allen „Textboxen“ die gleichen Eigenschaften angezeigt.
Also wie zum Teufel sollte ich merken bzw. bist du so schnell dahinter gekommen dass hier was falsch ist?
Erst nach deiner Antwort und intensiver suche habe ich bemerkt, dass wenn ich einen Linksklick auf das Objekt mache einmal Steuerelement formatieren und einmal Objekt formatieren heißt, aber sonst finde ich keinen Unterschied..
Wie kann das sein?
Kann es sein, dass das Steuerelement durch irgendeine Eingabe in ein Objekt umgewandelt wird?
Hat es wirklich einen Einfluss auf die Programmierung?
Muss ich wirklich alle Texboxen neu eingeben?
Also nun habe ich mich entschuldigt (obwohl ich mich unschuldig fühle), habe meine Hosen heruntergelassen und mich für unfähig deklariert.
Jetzt wäre es schön wenn du dich noch einmal meldest.
M.f.G.
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige