inhalt einer Textbox ohne leerzeichen und mit einer o vorne dran
#1
Guten Abend zusammen,

ich bin auf der Arbeit über ein kleines Excelproblem gestolpert an dem ich mir nun seit ca 1 Woche die Zähne ausbeiße.

Wir haben eine Bereitschaftsplan bei klick auf den Namen des Mitarbeiters im Dienst geht eine userform auf.  iIn der userform sind textfelder mit den Telefonnummern des betreffenden. Zum besseren lesen sind die Zahlenblöcke der Telefonnummer mit Leerzeichen getrennt. Rechts neben dem Texfeld ist jeweils ein Button mit dem man bei unserer alten Telefonanlage den betreffenden Mitarbeiter über die Telefonsoftware direkt angerufen hat. Der Button setzt den focus auf die zelle, markiert den Inhalt und drückt F8.
Mit der Software der neuen Anlage ist das so nicht mehr möglich, allerdings kann man mit STRG U das selbe erreichen. mit dem Unterschied das die neue Anlage die 0 für das Amt vorwählen muß und die Leerzeichen nicht ignoriert wie bei der alten Anlage. Die Telefonnummern in der hinterlegten Tabelle zu ändern, was ja die einfachste Lösung gewesen wäre, wird aus mir unerfindlichen Gründen nicht gewünscht.
gibt es die Möglichkeit sowas via VBA zu lösen?

Die Telfonnummer sehen ungefähr so aus: 0123 45 678 901

Der alte Code ist dieser:

Private Sub Tel6_Click()
Dim objShell
Set objShell = CreateObject("WScript.Shell")

TextBox6.SetFocus

TextBox6.SelStart = 0
TextBox6.SelLength = Len(TextBox6.Text)

objShell.SendKeys "{F8}"
End Sub

das F8 würde durch ^(U)

für die Leerzeichen finde ich nur Optionen um sie zu entfernen aber nicht um sie bei button klcik zu ignorieren. Bei der vorgesetzen Null finde ich auch nur Möglichkeiten die Daten per klick zu verändern. Vielleicht suche ich auch bei Google auch mit den falschen Schlüsselwörtern. Trete seit einer Woche, wie gesagt, schon auf der Stelle und bin für jede Hilfe dankbar.

MFG
Micha
Top
#2
Hallo Micha,

die Leerzeichen der Textbox solltest Du so entfernen können


Code:
TextBox6.Value = Application.Trim(TextBox6.Value)


Die führende Null sollte sich dann wie folgt erzeugen lassen:


Code:
TextBox6.Value = "0" & (TextBox6.Value)

Aus Deinem Code kann ich leider nicht ersehen wie die Textbox befüllt wird.

Gruß
Ich
Top
#3
Halllo Ich
Gefüllt wird das Textfeld und noch einige andere Textfelder in der Userform über ein Kombifeld in der man den Namen auswählt und dann die Felder entsprechend der Datentabelle mit Handy-, Büronummer, Pager etc. gefüllt werden. Ich habe leider keinen zugriff auf den code da der Kollege den Code passwort geschützt hat.

Im Prinzip müßte auf Knopfdruck der Inhalt des Textfeldes iausgelesen werden, die Leerzeilen ignoriert/gelöscht werden und STRG + U gedrückt werden

Gruß Micha
Top
#4
Hallo Micha,

ich habe gerade selbst noch einmal getestet. Wahrscheinlich funktioniert mein Code oben nicht?! :s 

So sollte es aber gehen.

Code:
Private Sub Tel6_Click()
Dim objShell
Set objShell = CreateObject("WScript.Shell")

TextBox6.SetFocus

TextBox6.SelStart = 0
TextBox6.Value = Application.Substitute(TextBox6.Value, " ", "")
TextBox6.Value = "0" & TextBox6.Value
TextBox6.SelLength = Len(TextBox6.Text)

objShell.SendKeys "{F8}"
End Sub

Gruß
Ich
Top
#5
Hallo ichbinich,

sieht gut aus ich werd es Mittwoch oder Donnerstag mal testen , dann bin ich mit dem Kollegen auf Schicht und dann berichten. Dankeschön schon Mal

Gruß Micha
Top


Gehe zu:


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