Hallo,
zu diesem Thema konnte ich leider nichts finden.
Der Inhalt aus einer PDF Datei wird in einer Excel-Tabelle eingefügt.
Danach steht alles untereinander in A.
Beispiel:
Test A 40,99 30,55
Nur im Text soll das Leerzeichen entfernt werden und danach zusammen geschrieben werden.
Da es nach Leerzeichen getrennt wird und die zahlen dann in B und C stehen.
Zur Zeit mache ich es mit suchen und ersetzen . Das ist aber aufwendig.
Gruß
Stephan
Moin Stefan!
Markiere Spalte A
Daten, Text in Spalten
im zweiten Schritt des Assistenten Leerzeichen anhaken
Gruß Ralf
(21.12.2016, 10:14)RPP63 schrieb: [ -> ]Moin Stefan!
Markiere Spalte A
Daten, Text in Spalten
im zweiten Schritt des Assistenten Leerzeichen anhaken
Gruß Ralf
Moin Ralf,
dies wird schon per VBA Gemacht.
Das sieht dann so aus
Test A 40,99 35,55
In A Test in B A in C und D die Zahlen.
Ich möchte aber das nur das Leerzeichen im Text entfernt und zusammengeschrieben wird, das der Text nur in A steht.
Zur Zeit mache ich es mit suchen und ersetzen . Dies ist aber sehr aufwendig.
Jede Bezeichnung zusammenzuschreiben.
Hi!
Gib mal ein paar Beispiele.
Um nur das erste Leerzeichen zu entfernen, ginge ja:
=WECHSELN(A1;" ";"";1)
Per VBA:
ActiveCell = Replace(ActiveCell, " ", "", 1, 1)
Gruß Ralf
Die Spalten A:C liegen jetzt vor, Ralf :)
Daher: =WECHSELN(A1;" ";"") bzw. das VBA-Äqu. mit nur den ersten drei Argumenten
Hallo,
Code:
Cells(x,1)=Replace(cells(x,1)," ","") & Cells(x,2)
und x als Schleifenzähler über die ganze Tabelle.
Anschließend Spalte B löschen.
Nach diesem:
Zitat:In A Test in B A in C und D die Zahlen.
A1: Test
B1: A
C1: 40,99
D1: 35,55
Per Formel in E:
Code:
=glätten(a1)&" "&glätten(B1)
nach unten ziehen; E kopieren, in A --> Inhalte einfügen, Werte und B/E löschen
Soderle!
Ich gehe mal stumpf nach dem Eingangsposting. ;)
Ausgangsposition:
| A |
1 | Test A 40,99 30,55 |
2 | Test B 17,2 100 |
Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Folgender Code
Code:
Sub RPP()
Dim Zelle As Range
For Each Zelle In Range("A1", Range("A1").End(xlDown))
Zelle = Replace(Zelle, " ", "", 1, 1)
Next
End Sub
führt dazu:
| A |
1 | TestA 40,99 30,55 |
2 | TestB 17,2 100 |
Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Jetzt noch ein .TextToColumns drüber und fertig.
Aber ich bat ja um aussagekräftige Beispiele. ;)
Gruß Ralf
Zusammen dann so:
Sub RPP()
Dim Zelle As Range
For Each Zelle In Range("A1", Range("A1").End(xlDown))
Zelle = Replace(Zelle, " ", "", 1, 1)
Next
Call TTC
End Sub
Sub TTC()
With Columns(1)
.TextToColumns .Cells(1), Space:=True
End With
End Sub
Führt zu:
| A | B | C |
1 | TestA | 40,99 | 30,55 |
2 | TestB | 17,2 | 100 |
Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Ralf
Erstmal Danke für die Antworten.
Leider funktioniert es nicht.
Habe es mit ein Button versucht.
Call RPP
Es wird ein Fehler angezeigt.
Hallo Stephan
mir ist etwas aufgefdallen, als ich diesen Text kopierte und den VBA Code von Ralf anwendete: Test A 40,99 30,55
In diesem Text gibt es ausser dem normalen Space " " auch das Sonderzeichen Charakter 160 als Space. Das kann man nicht mit " " löschen. Probiere bitte mal den folgenden Code. Wenn du den Range Bereich festlegst sollte es auch ohne For Next Schleife gehen. Würde mich sehr freuen wenn es so klappt!
Ich wünsche dir und allen Kollegen ein frohes Weihnachtsfest.
mfg Gast 123
Code:
'dieses Programm löscht normale Space + Charakter 160 Space
Sub Space_löschen()
Dim LZell as Long
'für die ganze Tabelle gilt:
Cells.Replace What:=" ", Replacement:=""
Cells.Replace What:=Chr(160), Replacement:=""
'oder de3n Range Bereich selbst festlegen
Range("A1:A1000").Replace What:=" ", Replacement:=""
Range("A1:A1000").Replace What:=Chr(160), Replacement:=""
'Range Bereich über LastZell festlegen
LZell = Range("A1").End(xlDown).Row
Range("A1:A" & LZell).Replace What:=" ", Replacement:=""
Range("A1:A" & LZell).Replace What:=Chr(160), Replacement:=""
End Sub