Registriert seit: 21.10.2014
Version(en): 2013
10.02.2016, 07:12
(Dieser Beitrag wurde zuletzt bearbeitet: 10.02.2016, 07:12 von Schülerin.)
Hallo VBA-Denksportler,
ich habe folgendes Problem. Ein Sonderzeichen "#" soll nacheinander alle Leerzeichen in einem Satz durchlaufen. Das Ergebnis soll dann folgendermaßen aussehen:
Position 5 : Dies#ist ein Satz, in dem ein Sonderzeichen nacheinander alle Leerzeichen durchläuft. Position 9 : Dies ist#ein Satz, in dem ein Sonderzeichen nacheinander alle Leerzeichen durchläuft. Position 13 : Dies ist ein#Satz, in dem ein Sonderzeichen nacheinander alle Leerzeichen durchläuft. Position 19 : Dies ist ein Satz,#in dem ein Sonderzeichen nacheinander alle Leerzeichen durchläuft. Position 22 : Dies ist ein Satz, in#dem ein Sonderzeichen nacheinander alle Leerzeichen durchläuft. Position 26 : Dies ist ein Satz, in dem#ein Sonderzeichen nacheinander alle Leerzeichen durchläuft. Position 30 : Dies ist ein Satz, in dem ein#Sonderzeichen nacheinander alle Leerzeichen durchläuft. Position 44 : Dies ist ein Satz, in dem ein Sonderzeichen#nacheinander alle Leerzeichen durchläuft. Position 57 : Dies ist ein Satz, in dem ein Sonderzeichen nacheinander#alle Leerzeichen durchläuft. Position 62 : Dies ist ein Satz, in dem ein Sonderzeichen nacheinander alle#Leerzeichen durchläuft. Position 74 : Dies ist ein Satz, in dem ein Sonderzeichen nacheinander alle Leerzeichen#durchläuft.
Wie kriege ich das auf die Reihe?
Registriert seit: 12.04.2014
Version(en): Office 365
Moin Wozu VBA wenn es mit zwei Formeln erledigt werden kann? Arbeitsblatt mit dem Namen 'Tabelle1' | | A | B | 1 | | Dies ist ein Satz, in dem ein Sonderzeichen nacheinander alle Leerzeichen durchläuft. | 2 | 5 | Dies#ist ein Satz, in dem ein Sonderzeichen nacheinander alle Leerzeichen durchläuft. | 3 | 9 | Dies ist#ein Satz, in dem ein Sonderzeichen nacheinander alle Leerzeichen durchläuft. | 4 | 13 | Dies ist ein#Satz, in dem ein Sonderzeichen nacheinander alle Leerzeichen durchläuft. | 5 | 19 | Dies ist ein Satz,#in dem ein Sonderzeichen nacheinander alle Leerzeichen durchläuft. | 6 | 22 | Dies ist ein Satz, in#dem ein Sonderzeichen nacheinander alle Leerzeichen durchläuft. | 7 | 26 | Dies ist ein Satz, in dem#ein Sonderzeichen nacheinander alle Leerzeichen durchläuft. | 8 | 30 | Dies ist ein Satz, in dem ein#Sonderzeichen nacheinander alle Leerzeichen durchläuft. | 9 | 44 | Dies ist ein Satz, in dem ein Sonderzeichen#nacheinander alle Leerzeichen durchläuft. | 10 | 57 | Dies ist ein Satz, in dem ein Sonderzeichen nacheinander#alle Leerzeichen durchläuft. | 11 | 62 | Dies ist ein Satz, in dem ein Sonderzeichen nacheinander alle#Leerzeichen durchläuft. | 12 | 74 | Dies ist ein Satz, in dem ein Sonderzeichen nacheinander alle Leerzeichen#durchläuft. |
Zelle | Formel | A2 | =SUCHEN(" ";$B$1;A1+1) | B2 | =ERSETZEN(B$1;A2;1;"#") |
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg |
Wir sehen uns! ... Detlef
Meine Beiträge können Ironie oder Sarkasmus enthalten.
Registriert seit: 13.04.2014
Version(en): 365
Hallo, eigentlich reicht schon das: Code: =WECHSELN($B$1;" ";"#";ZEILE(A1))
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr! Über Rückmeldungen würde ich mich freuen.
Registriert seit: 21.10.2014
Version(en): 2013
Hallo Leute,
also schon mal besten Dank für die beiden Formel-Vorschläge zur Lösung . Aber ich suche doch eine Lösung über VBA Code.
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi, (10.02.2016, 16:54)Schülerin schrieb: Aber ich suche doch eine Lösung über VBA Code. das hattest Du nicht gesagt!
Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:1 Nutzer sagt Danke an Rabe für diesen Beitrag 28
• Schülerin
Registriert seit: 21.10.2014
Version(en): 2013
Hallo Ralf,
dann bitte ich vielmals um Entschuldigung. Aber man lernt ja auch aus den Formellösungen.
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Hi! Na, wenn Du daraus lernst, warum wendest Du die Formel von BoskoBiati nicht per VBA an? Schau mal: Sub NaDannSo()
Dim strSatz As String, iSpace As Long
strSatz = "Dies ist ein Satz, in dem ein Sonderzeichen nacheinander alle Leerzeichen durchläuft."
iSpace = Ubound(Split(strSatz))
Range("A1") = strSatz
With Range("A2:A" & iSpace + 1)
.Formula = "=SUBSTITUTE(A$1,"" "",""#"",ROW(A1))"
.Formula = .Value
.EntireColumn.AutoFit
End With
End Sub Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:1 Nutzer sagt Danke an RPP63 für diesen Beitrag 28
• Schülerin
Registriert seit: 21.10.2014
Version(en): 2013
Hallo Ralf,
schon mal vielen Dank. Aber wie sieht das Ganze aus wenn ich die einzelnen Werte mit Debug.print angeben will. Ich muss auch zugeben, dass ich mich Excelformeln nun so gar nicht auskenne.
Registriert seit: 14.04.2014
10.02.2016, 18:58
(Dieser Beitrag wurde zuletzt bearbeitet: 10.02.2016, 19:00 von pefeu.)
Hallo Schülerin, hier noch eine Variante, die das Ergebnis mit Debug.Print ausgibt PHP-Code: Public Sub Durchlaufen()
Dim sText As String Dim iLaenge As Integer Dim iStart As Integer: iStart = 1 sText = "Dies ist ein Satz, in dem ein Sonderzeichen nacheinander alle Leerzeichen durchläuft." Debug.Print sText For iLaenge = iStart To Len(sText) If Mid(sText, iLaenge, 1) = " " Then Debug.Print Left(sText, iLaenge - 1) & "#" & _ Mid(sText, iLaenge + 1) iStart = iLaenge + 1 End If Next iLaenge End Sub
Gruß Peter
Folgende(r) 1 Nutzer sagt Danke an pefeu für diesen Beitrag:1 Nutzer sagt Danke an pefeu für diesen Beitrag 28
• Schülerin
Registriert seit: 10.04.2014
Version(en): 2007, Office 365
(10.02.2016, 17:09)Rabe schrieb: Hi,
(10.02.2016, 16:54)Schülerin schrieb: Aber ich suche doch eine Lösung über VBA Code. das hattest Du nicht gesagt! Hallo Ralf, hat sie! Zitat:Hallo VBA-Denksportler,
ich habe folgendes Problem.
Gruß Conny :) _______________________________________________________________
Die Summe der Intelligenz auf unserem Planeten ist konstant, aber die Bevölkerung wächst!
|