Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


Zellinhalte nach bestimmten Zeichen zusammenfassen
#1
Hallo liebe Computercracks,

bin leider ahnungslos und brauche VBA-Hilfe. Im Rahmen meiner Büroarbeit habe ich große
Datenmengen in meiner Exceltabelle in Spalte A, D und E. Am Ende der einzelnen Zellen befinden sich
Rauten oder auch nicht. Zur Strukturierung des Textes müssen Textinhalte der einzelnen
Zellen zusammengefasst werden und zwar werden immer Zellinhalte zusammengefasst in denen
keine Raute ist. Dies geschieht solange bis wieder Zellinhalt mit # Raute am Ende addiert wird.
Wie mache ich so etwas?
to top
#2
Hallo,
Wenn z.b. Die erste Raute in d2 kommt, wäre der Text a1+d1+e1+a2+d2? Ohne Leerzeichen dazwischen? Und wo soll das hin?
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
to top
#3
Hallo Andre,
doch ein Leerzeichen soll natürlich dazwischen.
Beispiel

A1: Wert1
A2: Wert2
A3: Wert3#

Daraus folgt dann A1: Wert1 + Leerzeichen + Wert2 + Leerzeichen + Wert3#

A2 + A3 sollen dann leer sein, bzw. die leeren Zellen sollen wieder verschwinden,
Weil Zellen von unten herauf raufrücken sollen.
to top
#4
Hallo,

ich habe das jetzt erst mal so flexibel geschrieben, dass mit dem Makro die Spalte der aktiven Zelle verarbeitet wird. Man kann es natürlich auch wie in der Aufgabenstellung für die 3 Spalten A, D und E programmieren - einfach noch mal melden.

Achtung! Es wird die komplette Spalte bis zum letzten Eintrag verarbeitet. Vor der Anwendung die Daten sichern.

Code:
Sub ZusammenFassen()
'Zusammenfassen von Zellen einer Spalte einer Exceltabelle
'programmiert für Clever Excel Forum von schauan
'Variablendeklaration
'Integer (bei groesseren Datenmengen Long nehmen)
Dim iCnt%
'Variant-Array
Dim arrCol, arrTmp()
'Daten in Spaltenarray uebernehmen
arrCol = WorksheetFunction.Transpose(Range(Cells(1, ActiveCell.Column), Cells(Cells(Rows.Count, ActiveCell.Column).End(xlUp).Row, ActiveCell.Column)))
'temporaeres Array fuer ersten Zellinhalt dimensionieren
ReDim Preserve arrTmp(1 To 1)
'ersten Zellinhalt uebernehmen
arrTmp(1) = arrCol(1)
'Wenn Zellinhalt auf # endet, dann temporaeres Array neu dimensionieren
If Right(arrCol(1), 1) = "#" Then ReDim Preserve arrTmp(1 To UBound(arrTmp) + 1) Else arrTmp(1) = arrTmp(1) & " "
'Schleife ueber alle Zellinhalte
For iCnt = 2 To UBound(arrCol)
  'Zellinhalt dem temporaeren Array zuweisen
  arrTmp(UBound(arrTmp)) = arrTmp(UBound(arrTmp)) & Cells(iCnt, ActiveCell.Column)
  'Wenn Zellinhalt auf # endet, dann temporaeres Array neu dimensionieren
  If Right(arrCol(iCnt), 1) = "#" Then ReDim Preserve arrTmp(1 To UBound(arrTmp) + 1) Else arrTmp(UBound(arrTmp)) = arrTmp(UBound(arrTmp)) & " "
'Ende Schleife ueber alle Zellinhalte
Next
'Spalte loeschen
Columns(ActiveCell.Column).ClearContents
'Ergebnis zurueckschreiben
Cells(1, ActiveCell.Column).Resize(UBound(arrTmp)) = WorksheetFunction.Transpose(arrTmp)
End Sub
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
[-] Folgende(r) 1 Benutzer sagt Danke an schauan für diesen Beitrag:
Büroklammer
to top
#5
Hallo André,
habe den Code gerade ausprobiert. Läuft super!
Du bist der Retter unseres Büros. Danke
to top
#6
Halöchen,

na, dann trinkt mal einen Kaffee auf mich 21
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Ersetzen von Zeichen an bestimmter Stelle Quantum 22 290 Vor 11 Stunden
Letzter Beitrag: Castor
  Ausgewählte Zeilen verschiedener Tabellen in einer Tabelle zusammenfassen Chris482 7 193 14.01.2017, 15:11
Letzter Beitrag: Rabe
  Suche nach bestimmten Kriterien abbrechen wirsing 24 575 02.01.2017, 22:30
Letzter Beitrag: schauan
  Mehrfachwerte zusammenfassen Shorty2795 1 50 28.12.2016, 09:25
Letzter Beitrag: steve1da
  Bekloppt Frage - Zellinhalte miteinander verbinden Marlak 20 238 24.12.2016, 00:55
Letzter Beitrag: lupo1
  Gleiche Namen im Diagramm zusammenfassen Harry 7 313 21.12.2016, 23:11
Letzter Beitrag: Harry
  Mehrere Zellen in einer Zelle ohne Duplikate zusammenfassen Scjord 9 137 21.12.2016, 14:42
Letzter Beitrag: Rabe
Photo Liste nach bestimmten Regeln sortieren Chrismonat 1 55 13.12.2016, 18:34
Letzter Beitrag: Fennek
  Daten aus mehreren Datein zusammenfassen KS20 7 316 28.10.2016, 10:05
Letzter Beitrag: schauan
  Zellen erkennen kleiner oder gleich 8 Zeichen Sunny2000N 7 177 26.10.2016, 13:11
Letzter Beitrag: Jockel

Gehe zu:


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