Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1064to1068
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
Inhaltsverzeichnis

Seltsame leerzeichen aus Word?

Seltsame leerzeichen aus Word?
25.03.2009 23:10:10
Dirk
Hallo Excelgemeinde,
Ich bin am verzweifeln!
Ich kopiere Text aus Word in eine Zelle. In der Zelle sind, auf dem ersten Blick, am Anfang und am Ende des Textes Leerzeichen. Bei folgendem Code frage ich das Zeichen ab und als Rückmeldung kommt 32.
Das entspricht auch tatsächlich dem Leerzeichen.

Sub Test1()
MsgBox Asc(Left(Cells(1, 1), 1))
End Sub


Wenn ich nun aber die Leerzeichen entfernen möchte, funktioniert das nicht!?!?!?!?!


Sub Test2()
Cells(1, 1) = Replace(Cells(1, 1), Chr(32), "")
End Sub


Wenn ich in der Bearbeitungsleiste mit den Pfeiltasten nach rechts gehe, fällt mir auf, dass ein größerer Sprung als beim üblichen Leerzeichen gemacht wird!?!?!
Ich verstehe das nicht und bitte um Hilfe.
Ich möchte, dass diese (Leer-)Zeichen vor und nach dem Text gelöscht werden. In diesem Beispiel vor und nach dem Minuszeichen.
Hier eine Testdatei.
https://www.herber.de/bbs/user/60688.xls
Gruß
Dirk R.

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

Betreff
Datum
Anwender
Anzeige
AW: Seltsame leerzeichen aus Word?
25.03.2009 23:15:55
Rudi
Hallo,
das sind keine Chr(32) sondern Chr(63)
Gruß
Rudi
AW: Seltsame leerzeichen aus Word?
25.03.2009 23:24:46
Dirk
Hallo Rudi,
Habe code geändert:

Sub Test2()
Cells(1, 1) = Replace(Cells(1, 1), Chr(63), "")
End Sub


Funktioniert aber nicht. :0(
Habe mir die Zeichen auflisten lassen, mit folgendem Code:


Sub Test1()
Dim I As Integer
For I = 1 To 255
Cells(I, 3) = Chr(I)
Next I
End Sub


In Zeile 63, was wohl dem Chr(63) entsprechen müsste steht aber ein Fragezeichen ?
Was mache ich falsch?
Gruß
Dirk

Anzeige
AW: Seltsame leerzeichen aus Word?
25.03.2009 23:25:38
Dirk
Frage noch offen
Versuch mal ...
25.03.2009 23:49:33
Matthias
Hallo
hab grad mal rumprobiert
versuch mal:
Range("A1").Replace What:=Left(Range("A1"), 1), Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False
Gruß Matthias
AW: Versuch mal ...
26.03.2009 00:08:30
Dirk
Hallo Matthias,
danke für deine Hilfe. Der Code funktioniert! :0)
Ich habe noch eine Frage. Kannst du mir helfen deinen Code in den folgenden einzubauen?:

Sub Test
For intTable = 1 To .documents(1).tables.Count
lngR = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
With .documents(1).tables(intTable).Range
For lngC = 1 To .Cells.Count
strText = .Cells(lngC)
strText = Replace(Replace(strText, Chr(7), ""), Chr(13), Chr(10)
If Right$(strText, 1) = Chr(10) _
Or Right$(strText, 1) = Chr(9) _
Then strText = Left$(strText, Len(strText) - 1)
Sheets(1).Cells(.Cells(lngC).RowIndex + lngR, .Cells(lngC).ColumnIndex) = strText
Next
End With
Next
End Sub


Kannst du mir helfen?
LG
Dirk

Anzeige
AW: Seltsame leerzeichen aus Word?
25.03.2009 23:57:18
Specke
Hallo Dirk,
so funktioniert es:

Sub test()
For i = Len(Cells(1, 1).Value) To 1 Step -1
If Asc(Mid(Cells(1, 1).Value, i, 1)) = 32 Then
Cells(1, 1).Value = Left(Cells(1, 1).Value, i - 1) & Mid(Cells(1, 1).Value, i + 1)
End If
Next i
End Sub


Gruß Specke

AW: Seltsame leerzeichen aus Word?
26.03.2009 00:18:49
Dirk
Hallo Specke,
funzt prima. Habe aber noch ein Problem.
Im Code wird die Zelle A1 geändert. Wie kann ich deinen Code in diesen einbauen?:

Sub Test
For intTable = 1 To .documents(1).tables.Count
lngR = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
With .documents(1).tables(intTable).Range
For lngC = 1 To .Cells.Count
strText = .Cells(lngC)
strText = Replace(Replace(strText, Chr(7), ""), Chr(13), Chr(10))
If Right$(strText, 1) = Chr(10) _
Or Right$(strText, 1) = Chr(9) _
Then strText = Left$(strText, Len(strText) - 1)
Sheets(1).Cells(.Cells(lngC).RowIndex + lngR, .Cells(lngC).ColumnIndex) = strText
Next
End With
Next
End Sub


Ich kopiere Text aus Word in Excel. Im ganzen Code werden die Daten dann noch sortiert in Sheets(2)
Wenn ich deinen Code hier nicht einbauen kann, muss ich versuchen im Sheets(2) alle Zellen "Used.Range"
zu glätten.
Kannst du mir helfen?
Gruß
Dirk

Anzeige
AW: Seltsame leerzeichen aus Word?
26.03.2009 00:23:09
Specke
Hallo Dirk,
ungetestet:

Sub Test
For intTable = 1 To .documents(1).tables.Count
lngR = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
With .documents(1).tables(intTable).Range
For lngC = 1 To .Cells.Count
strText = .Cells(lngC)
strText = Replace(Replace(strText, Chr(7), ""), Chr(13), Chr(10))
If Right$(strText, 1) = Chr(10) _
Or Right$(strText, 1) = Chr(9) _
Then strText = Left$(strText, Len(strText) - 1)
With Sheets(1).Cells(.Cells(lngC).RowIndex + lngR, .Cells(lngC).ColumnIndex)
.Value = strText
For i = Len(.Value) To 1 Step -1
If Asc(Mid(.Value, i, 1)) = 32 Then
.Value = Left(.Value, i - 1) & Mid(.Value, i + 1)
End If
Next i
end with
Next
End With
Next
End Sub


Gruß Specke

Anzeige
AW: Seltsame leerzeichen aus Word?
26.03.2009 00:26:31
Dirk
Hallo Specke,
beim testen ist mir folgendes aufgefallen:
Dein Code löscht alle Leerzeichen. Ich möchte aber, dass nur am Anfang und am Ende eines Strings die Leerzeichen gelöscht werden.
Hast du eine Idee?
Lg
Dirk R.
AW: Seltsame leerzeichen aus Word?
26.03.2009 00:29:56
Dirk
Frage noch offen
AW: Seltsame leerzeichen aus Word?
26.03.2009 00:34:48
Specke
Hallo Dirk,

Sub test()
For i = Len(Cells(1, 1).Value) To 1 Step -1
If Asc(Mid(Cells(1, 1).Value, i, 1)) = 32 Then
Cells(1, 1).Value = Left(Cells(1, 1).Value, i - 1)
Else
Exit For
End If
Next i
For i = 1 To Len(Cells(1, 1).Value)
If Asc(Mid(Cells(1, 1).Value, i, 1)) = 32 Then
Cells(1, 1).Value = Mid(Cells(1, 1).Value, i + 1)
i = i - 1
Else
Exit For
End If
Next i
End Sub


Gruß Specke

Anzeige
AW: Seltsame leerzeichen aus Word?
26.03.2009 00:48:06
Dirk
Hallo Specke,
habe deinen Code getestet.
Er funzt perfekt. :0)
Vielen Dank für deine Hilfe. Jetzt kann ich beruhigt schlafen gehen.
Gruß
Dirk
AW: Seltsame leerzeichen aus Word?
26.03.2009 00:51:55
Specke
Hallo Dirk,
danke für die Rückmeldung.
Gute Nacht!
Specke

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige