Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Sonderzeichen soll alle Leerzeichen in einem String durchlaufen
#1
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?
Antworten Top
#2
Moin

Wozu VBA wenn es mit zwei Formeln erledigt werden kann?
Arbeitsblatt mit dem Namen 'Tabelle1'
 AB
1 Dies ist ein Satz, in dem ein Sonderzeichen nacheinander alle Leerzeichen durchläuft.
25Dies#ist ein Satz, in dem ein Sonderzeichen nacheinander alle Leerzeichen durchläuft.
39Dies ist#ein Satz, in dem ein Sonderzeichen nacheinander alle Leerzeichen durchläuft.
413Dies ist ein#Satz, in dem ein Sonderzeichen nacheinander alle Leerzeichen durchläuft.
519Dies ist ein Satz,#in dem ein Sonderzeichen nacheinander alle Leerzeichen durchläuft.
622Dies ist ein Satz, in#dem ein Sonderzeichen nacheinander alle Leerzeichen durchläuft.
726Dies ist ein Satz, in dem#ein Sonderzeichen nacheinander alle Leerzeichen durchläuft.
830Dies ist ein Satz, in dem ein#Sonderzeichen nacheinander alle Leerzeichen durchläuft.
944Dies ist ein Satz, in dem ein Sonderzeichen#nacheinander alle Leerzeichen durchläuft.
1057Dies ist ein Satz, in dem ein Sonderzeichen nacheinander#alle Leerzeichen durchläuft.
1162Dies ist ein Satz, in dem ein Sonderzeichen nacheinander alle#Leerzeichen durchläuft.
1274Dies ist ein Satz, in dem ein Sonderzeichen nacheinander alle Leerzeichen#durchläuft.

ZelleFormel
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.

[-] Folgende(r) 1 Nutzer sagt Danke an shift-del für diesen Beitrag:
  • Schülerin
Antworten Top
#3
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.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • Schülerin
Antworten Top
#4
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.
Antworten Top
#5
Hi,

(10.02.2016, 15: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:
  • Schülerin
Antworten Top
#6
Hallo Ralf,

dann bitte ich vielmals um Entschuldigung. Aber man lernt ja auch aus den Formellösungen.
Antworten Top
#7
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:
  • Schülerin
Antworten Top
#8
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.
Antworten Top
#9
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 IntegeriStart 
   
   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(sTextiLaenge1) = " " Then
         Debug
.Print Left(sTextiLaenge 1) & "#" _
            Mid
(sTextiLaenge 1)
 
        iStart iLaenge 1          
      End 
If
 
  Next iLaenge
  
End Sub

Gruß Peter 
[-] Folgende(r) 1 Nutzer sagt Danke an pefeu für diesen Beitrag:
  • Schülerin
Antworten Top
#10
(10.02.2016, 16:09)Rabe schrieb: Hi,

(10.02.2016, 15: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!
Antworten Top


Gehe zu:


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