Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Friedrichroda /
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
  2 Tabellen automatisch in einer zusammenfassen Sereyanne 21 256 29.03.2017, 10:01
Letzter Beitrag: shift-del
  Ohm-Zeichen Heinz Ulm 6 172 20.03.2017, 22:32
Letzter Beitrag: RPP63
  Daten zusammenfassen und addieren Morgän 6 131 16.03.2017, 22:14
Letzter Beitrag: steve1da
  Zelle ab bestimmtem mehrfachen Zeichen auslesen? xlsxvba 4 90 16.03.2017, 12:41
Letzter Beitrag: snb
  Inhalte zweier Spalten in eine zusammenfassen und ergänzen empuries 6 100 05.03.2017, 18:50
Letzter Beitrag: WillWissen
  Mittelwert bei < Zeichen mosef 7 151 02.03.2017, 10:11
Letzter Beitrag: mosef
  Hyperlinks > 256 Zeichen zmichael27 4 124 01.03.2017, 17:33
Letzter Beitrag: Glausius
  Text aus meheren Zellen anhand eines Sortierkriteriums in einer Zelle zusammenfassen holgeru 3 126 28.02.2017, 11:20
Letzter Beitrag: GMG-CC
  Mittelwerte in Pivot-Tabelle zusammenfassen Thorbjörn 4 182 23.02.2017, 14:08
Letzter Beitrag: neopa
Photo Zusammenfassen mehrerer Zeilen nach einer ID Axel 3 173 22.02.2017, 22:19
Letzter Beitrag: Ego

Gehe zu:


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