Excel Verkettung inkl Anführungszeichen und Komma?
Hallo liebes Volk!
Ich werde langsam ganz nervös und bitte dringend um netten Rat.
Es geht um folgende Szenario:
(siehe Bild)
Also, wie kann ich die einzelnen Zeilen verketten, sodass sie mir wie im roten Fall ausgespukt werden?
Ich habe eine recht umfangreiche Excel-Tabelle, bei der ich nicht manuell alle Anführungszeichen in die einzelnen Zeilen schreiben möchte.
Wenn ich Google finde ich zwar allerlei Verkettungsmöglichkeiten, allerdings nichts, wo ich Komma UND Anführungszeichen bekomme.
Bitte um Laien-gerechte Erklärung.
Lieben Gruß
und bleibt gesund!
Emmi
5 Antworten
Sowas kann man vermutlich am besten (oder nur) in VBA machen. Die Funktion, die du brauchst wäre z.B. diese (hab ich getestet, funktioniert):
Public Function formatCustomString(str As String)
Dim values() As String
Dim size As Integer
Dim tar As String
values = Split(str, ",")
size = UBound(values)
For i = 0 To size
If (i) < size Then
tar = tar & """" & values(i) & """" & ","
Else
tar = tar & """" & values(i) & """"
End If
Next i
formatCustomString = tar
End Function
Im Excel machst du dann sowas wie (=formatCustomString(>Hier kommt deine Zelle rein<))
Musst dir bloß mal anschauen, wie man ein Makro anlegt (z. B. durch aufzeichnen, findeste auf Youtube) und dann die obige Funktion einfügen.
Viel Erfolg.
Die verwendete Formel geht aber nur, wenn es sich um genau 4 Elemente handelt. Vba macht das dynamisch. Der Fragesteller meinte, er hätte eine umfangreiche Tabelle, wenn aber die statische Variante mit bereits vorhanden Formel sein Problem auch löst, ist das ebenso gut.
@Felix969696 Das stimmt, es war durchaus noch eine "Fummelarbeit" und mit Zeit verbunden.
Aber es aht schlussendlich zum Ziel geführt.
Ich danke dir trotzdem für deine Antwort und werde es für das nächste Mal sicher ausprobieren.
Neue Tabelle, Daten rein, trennen bei Komma, anschließend in einer neuen Zelle mit &","& zusammenführen.
Mit &","& habe ich doch schon gearbeitet, siehe "Bearbeitungsleiste". So komme ich zu meinen Kommatas, allerdings fehlen mir dann immernoch die Anführungszeichen ("").
Oh das ist mir nicht aufgefallen. Dann nimm doch ein anderes Sonderzeichen und ersetze es am Ende mittels Suchen und Ersetzen im gesamten Tabellenblatt mit ".
Ganz einfacher Trick:
Mach in deiner Formel die Anführungszeichen vor und hinter dem Komma jeweils 3-mal!
=A1&""","""&B1&""","""&C1&""","""&D1
Am Anfang und am Ende stehen jeweils 4 Anführungszeichen, nicht 3!
Innerhalb der Formel, also vor und hinter den Kommas, da sind's 3.
Kopier die Formel doch einfach:
=""""&A1&""","""&B1&""","""&C1&""","""&D1&""""
Ohh ja! perfekt, ich danke Dir/ Euch!
Was für eine Erlösung :D
Da streikt Excel bei mir.
Er erkennt A1 dann nicht mehr als Wert an, wenn ich noch drei Anführungszeichen davor schiebe...
Ergänzung für die Anführungszeichen am Anfang und Ende:
=""""&A1&""","""&B1&""","""&C1&""","""&D1&""""
Das bringt mich defintiv schon in die richtige Richtung, allerdings fehlt mir das Anführungszeichen dan je einmal am Anfang und am Ende:
Die Lösung hast du bereits durch Rubezahl2000.
Falls du die neuste Office-Version nutzen kannst, kannst du es auch mit der Funktion TEXTVERKETTEN lösen.
Ich würde das in VBA lösen. Du holst Dir die Zellinhalte, speicherst sie als String und fügst nach jedem Ausdruck, die Kommata und den Beistrich ein.
Ich habe damit leider überhaupt keine Erfahrungen. Geht das nicht leichter in Excel?
Ich finde, es geht total leicht. Du zeichnest Dir einen Makro auf, wo Du Befehle verwendest die Du in etwa brauchen kannst.
Dann gehst Du in Extras unter Macro Bearbeiten und rufst Dir die VBA Oberfläche auf.
Die Syntax musst Du nachlesen. Jetzt über den Daumen (habe es JAHRE nicht mehr programmiert) könnte es so aussehen.
dim s: string;
s = cell.selected + ' " , ";
select.next;
s = s + cell.sected+ ' " , ";
Wo = kommt und wo ; etc. das ist die Syntax. Die kannst Du schon aus den automatisch aufgezeichneten Code ableiten.
Dabei ist in 2 immer "die ganze Wurst aller Zeichen" drin.
am Ende gibst Du sie aus, vielleicht als "print". oder einer Zelle zuweisen.
@Felix969696: Warum so kompliziert? Warum extra ein VBA Makro?
Man muss doch einfach nur in der bereits verwendeten Formel ein paar Anführungszeichen ergänzen.