Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
868to872
868to872
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Text links u. rechts ei. Zeichens übernehmen
17.05.2007 19:03:43
Lenhard
Moin Moin!!
Ich meine, hier im Forum schon mal etwas meiner Frage entsprechendes gesehen zu haben. Aber wie das so ist: Nun finde ich es nicht wieder.
Meine Vorgabe eines Textes: "Einlage / Gelegt im oberen Bereich"
Wie bekomme ich nun in z.B Zelle E1: "Einlage"
...und in Zelle F1: "Gelegt im oberen Bereich"
Ich möchte links und rechts der Zeichenfolge " / " selektieren.
---------------------------
Ich meine, dass es zum einen die Möglichkeit gibt durch eine jeweilige Formel in der Zelle E1 und F1?
...und zum anderen die Möglichkeit über ein VBA Skript?!
Ich interessiere mich für beide Möglichkeiten, würde aber das VBA-Skript bevorzugen!
Das VBA-Skript sollte sich auf jeweils eine Spalte beziehen und ich müßte wissen wie ich ab einer Zeile diese Funktion anwenden könnte. Also ab E7 und F7 zum Beispiel.
Vielen Dank im Voraus!
Viele Grüße aus dem hohen Norden!
Lenhard

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text links u. rechts ei. Zeichens übernehmen
17.05.2007 19:12:06
Josef
Hallo Lenhard,
VBA:
Sub trennen()
Dim strText As String

strText = "Einlage / Gelegt im oberen Bereich"

MsgBox Trim$(Left(strText, InStr(1, strText, "/") - 1)) & vbLf & Trim$(Mid(strText, InStr(1, strText, "/") + 1))

End Sub

Formel:
Tabelle3

 ABC
1Einlage / Gelegt im oberen BereichEinlageGelegt im oberen Bereich

Formeln der Tabelle
ZelleFormel
B1=GLÄTTEN(LINKS(A1;FINDEN("/";A1)-1))
C1=GLÄTTEN(TEIL(A1;FINDEN("/";A1)+1;99))
Excel Tabellen im Web darstellen  Excel Jeanie HTML
Gruß Sepp

Anzeige
AW: Text links u. rechts ei. Zeichens übernehmen
17.05.2007 19:52:49
Lenhard
Hallo Josef!!
Schön, dass Du auch hier mit dabei bist!! DANKE!
Ich schau mir das im Laufe des Abends an. Ich melde mich dann noch mal!
Gruß
Lenhard

AW: Text links u. rechts ei. Zeichens übernehmen
18.05.2007 10:54:44
Lenhard
Moin Josef!
Erst mal vielen Dank an dieser Stelle für Deine Hilfe.
Das mit dem VBA-Skript verstehe ich nicht so ganz (?MsgBox?). Und leider kann ich - so habe ich nun festgestellt - die Formelvariante in Zellen des Tabellenblattes auch nicht anwenden.
Ich habe aber eine weitere Überlegung und vielleicht kannst Du mir ja dazu Hilfen geben:
Kann ich eigentlich TextBoxen in einem UserForm sagen, übernehme nur die Zeichen links von " /" (dieses für eine TB) und übernehme nur rechts ab "/ " (dieses für eine weitere TB)?
Gruß
Lenhard
---------------------------
P.S. Darf ich Dich auch an dieser Stelle noch mals um Mithilfe bitten. Es handelt sich um ein Thema, bei dem Du schon geholfen hast, welches aber leider ins Archiv "abgerutsht" ist...
https://www.herber.de/forum/messages/870819.html

Anzeige
AW: Text links u. rechts ei. Zeichens übernehmen
18.05.2007 11:00:12
Josef
Hallo Lenhard,
die MsgBox ist ja nur ein beispiel.
du kannst natürlich auch schreiben.
strText = "Einlage / Gelegt im oberen Bereich" 'oder 'strText = Rang("A1").Text TextBox1 = Trim$(Left(strText, InStr(1, strText, "/") - 1)) TextBox2 = Trim$(Mid(strText, InStr(1, strText, "/") + 1))


Gruß Sepp

AW: Text links u. rechts ei. Zeichens übernehmen
19.05.2007 00:21:00
Lenhard
Danke für die Erklärungen Josef! ...ich hatte sie schon heute Mittag gesehen, konnte mich aber erst jetzt damit beschäftigen, da ich zur Arbeit mußte.
Nun wieder zu Hause scheitern meine Versuche, es umzusetzen. Ich bin leider noch kein VBA-Profi.
Ich muss noch einmal von vorne anfangen.
-----------------------
In meinem UserFormAendern habe ich eine ComboBox und eine TextBox. Beide, die Combo- und TextBox bekommen beide immer den gleichen Satz zum Eintrag angeboten. Das kann sein "ERCP / linkes Gangsystem" oder "Stenteinlage / unterhalb der Markierung" usw. usw.
Entscheidend ist nun das " / "-Zeichen. Vor und hinter dem / ist jeweils ein Leerzeichen.
In der ComboBox soll alles links vom " /" stehen: ERCP
In der TextBox soll alles rechts vom "/ " stehen: linkes Gangsystem
Darf ich Dich noch mal um Mithilfe bitten.
Gruß
Lenhard

Anzeige
AW: Text links u. rechts ei. Zeichens übernehmen
19.05.2007 08:55:00
Josef
Hallo Lenhard,
dann musst du halt

ComboBox1 = Trim$(Left(strText, InStr(1, strText, "/") - 1))
TextBox1 = Trim$(Mid(strText, InStr(1, strText, "/") + 1))


schreiben, wobei du die Namen der Combo- bzw. Textbox natürlich anpassen musst.
Und statt "strText" musst du halt deinen String übergeben.

Gruß Sepp

AW: Text links u. rechts ei. Zeichens übernehmen
19.05.2007 11:37:21
Lenhard
Moin Josef!
Sorry, aber irgendwie komme ich nicht weiter. Ich vermute, dass ich also bereits mit dem übergeben an das UserFormAendern die gewünschte Begrenzung realisieren muss?!
Also gehe ich in das Skript meines UserFormSuchen (welches ja übergibt!) und gehe in folgendes Skript:

Private Sub ListBoxErgebnisse01_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
If ListBoxErgebnisse01.ListIndex > -1 Then
With UF_PatientenAendern
'#### ...so übergeb ich einen Datumswert
.TextBoxDatum = CDate(ListBoxErgebnisse01.List(ListBoxErgebnisse01.ListIndex, 1))
'#### ...so übergebe ich normalen Text
.ComboBoxStation = ListBoxErgebnisse01.List(ListBoxErgebnisse01.ListIndex, 2)
'#### ...und hier "bastel" ich nun schon seit Stunden
.TextBoxUntersuchung = Trim$(Mid(ListBoxErgebnisse01, (ListBoxErgebnisse01.ListIndex),  _
6), "/") + 1
.Show
End With
End If
End Sub


...und nun, vermute ich mal, schmunzelst Du so vor Dich hin, weil mein 3. Übergabe"versuch" dazu anregt?!?
Was mache ich falsch? Ich weis zwar sehr wohl, das es irgendwo der guten alten "Klammer-Rechnung" entspricht... ...aber was soll's: Der VBA-Editor "meckert" mich immer mit Fehlermeldungen aus!!
Darf ich Dich noch mal um eine Erklärung und Lösung bitten?! Danke! ...es reicht in Stichworten!
Gruß
Lenhard

Anzeige
AW: Text links u. rechts ei. Zeichens übernehmen
19.05.2007 11:58:50
Josef
Hallo Lenhard,
das sollte so funktionieren.
Private Sub ListBoxErgebnisse01_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim strSplit As String
If ListBoxErgebnisse01.ListIndex > -1 Then
    With UF_PatientenAendern
        
        '#### ...so übergeb ich einen Datumswert
        .TextBoxDatum = CDate(ListBoxErgebnisse01.List(ListBoxErgebnisse01.ListIndex, 1))
        
        strSplit = ListBoxErgebnisse01.List(ListBoxErgebnisse01.ListIndex, 2)
        
        .ComboBoxStation = Trim$(Left(strSplit, InStr(1, strSplit, "/") - 1))
        
        .TextBoxUntersuchung = Trim$(Mid(strSplit, InStr(1, strSplit, "/") + 1))
        
        .Show
    End With
End If
End Sub

Gruß Sepp

Anzeige
AW: Text links u. rechts ei. Zeichens übernehmen
19.05.2007 12:21:00
Lenhard
Ja Danke Josef!
...aber wie wird den der zu übergebende Listindex mit integriert? Ich glaube, dass ist mein größtes Vesrtändnisproblem!
Also das Beispiel...
.TextBoxUntersuchung = Trim$(Mid(strSplit, InStr(1, strSplit, "/") + 1))
...soll den Listindex 6 der ListBoxErgebnisse übergeben.
Danke!
Lenhard
P.S. ...nun sitze ich aber wieder auf "heißen Kohlen" und muss wieder mal los. Melde mich heute Abend wieder.

AW: Text links u. rechts ei. Zeichens übernehmen
19.05.2007 12:26:00
Josef
Hallo Lenhard,
wenn der zu splitende String in "ListBoxErgebnisse01.List(ListBoxErgebnisse01.ListIndex, 6)" steht, dann musst du "strSplit" natürlich diesen zuweisen.

strSplit = ListBoxErgebnisse01.List(ListBoxErgebnisse01.ListIndex, 6)
'strSplit enthält nun deinen String mit dem "/"
'und diesen teilst du nun am "/" auf
'links vom "/"
.ComboBoxStation = Trim$(Left(strSplit, InStr(1, strSplit, "/") - 1))
'rechts vom "/"
.TextBoxUntersuchung = Trim$(Mid(strSplit, InStr(1, strSplit, "/") + 1))


Gruß Sepp

Anzeige
AW: Text links u. rechts ei. Zeichens übernehmen
19.05.2007 20:44:00
Lenhard
ACH SOOOO!!! ...ich hoffe es nun kappiert zu haben!
Ich setze das mal gerade hier um und hoffe es so hinzubekommen...
Ich melde mich noch mal!! Erst mal vielen Dank!! Josef!
Gruß
Lenhard

AW: Text links u. rechts ei. Zeichens übernehmen
19.05.2007 23:09:48
Lenhard
Hallo Josef: Es läuft alles Rund!!*
Ich möchte mich nun hier an dieser Stelle ganz herzlich bei Dir bedanken, Josef!!
Auch dafür, das ich wieder ein wenig mehr gelernt habe. Aber ganz ehrlich, vieles von dem allen verstehe ich noch nicht, dass kommt alles so nach und nach... Das nennt man wohl - auch - LERNEN. Ansonsten ist das Lernen eine Verhaltensänderung des Menschen (...sagen jedenfalls die Pädagogen).
Nochmals: Danke!!
Gruß
Lenhard
-----------------------
*...es fehlt nur noch eine Funktion. Wenn ich sie nicht selber in Griff bekomme, werde ich dafür hier einen neuen Beitrag eröffnen. Sonst geht zu vieles durcheinander.
Anzeige

322 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige