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

VBA oder Excel - Spalten in eine Zelle spielen

VBA oder Excel - Spalten in eine Zelle spielen
26.03.2019 09:22:10
Arnd-Olav
Ich habe eine Tabelle wie in Bild 1.
In der ersten Spalte wiederholen sich die Namen. Die individuellen Zusatzinformationen der weiteren Spalten können sich wiederholen oder auch einzeln vorkommen.
Das Endergebnis soll quasi wie in Bidl 2 aussehen. Das ich nur noch eine Spalte mit den Namen habe und eine Spalte mit den zusammengeführten Informationen.
Userbild
Meine idee ist, die Daten nach ACCESSzu spielen, aber ich glaube der Ansatz ist mal wieder viel zu kompliziert.
Ich weiß ich bin faul... ich weiß aber auch, dass die Lösung hier schon irgendwo rumschwirrt ;)

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA oder Excel - Spalten in eine Zelle spielen
28.03.2019 07:11:51
MCO
Guten Morgen!
An den Feinheiten kannst du sicher noch arbeiten, aber erst mal macht es, was es soll.
Tip für den nächsten Beitrag:
Hier sind alle faul. So faul, dass die meisten keine Tabellen nachbauen um dafür was zu stricken.
Dem entsprechend ist dann auch das Antwortverhalten.
Also bitte demnächst die Testtabelle mit hochladen / anhängen, gerne zusätzlich zum erklärenden Bild.
Sub test()
For Each nam In Range("A:A").SpecialCells(xlCellTypeConstants)
Set gef = Range("H:H").Find(nam, , , xlWhole)
If Not gef Is Nothing Then
For sp = 2 To nam.End(xlToRight).Column
begr = Cells(nam.Row, sp)
If InStr(gef.Offset(0, 1), begr) = 0 Then
gef.Offset(0, 1) = gef.Offset(0, 1) & "," & begr
End If
Next
Else
Set Rng = Range("H" & Rows.Count).End(xlUp).Offset(1, 0)
Rng.Value = nam
For sp = 2 To nam.End(xlToRight).Column
begr = Cells(nam.Row, sp)
If InStr(Rng.Offset(0, 1), begr) = 0 Then
Rng.Offset(0, 1) = Rng.Offset(0, 1) & "," & begr
End If
Next
End If
Next
End Sub

Gruß, MCO
Anzeige

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige