Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1604to1608
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-Zusammenfassung Daten in einer Zelle

VBA-Zusammenfassung Daten in einer Zelle
08.02.2018 14:15:47
Addi
Hallo Zusammen,
ich habe eine Tabelle in der zu Kunden die in Spalte A stehen diverse Informationen in den Spalten B bis H hinterlegt sind. Nicht immer sind alle Informationsfelder gefüllt. Ich muss nun diese Informationen alle in eine Zelle bringen - untereinander - also so als wenn man immer "ALT-Return" tippen würde...
Die Spaltenüberschriften sollten dabei vorangesetzt werden und dann ein ": " und dann die Info...
Die Spalten die leer sind sollen weggelassen werden, also auch kein Eintrag der Überschrift...
Ich habe mal ein Beispiel gemacht...hoffentlich kommt Ihr mit meiner Beschreibung klar?!
Vielen Dank schon mal vorab!!
Addi
https://www.herber.de/bbs/user/119654.xlsx

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-Zusammenfassung Daten in einer Zelle
08.02.2018 14:59:03
Dieter(Drummer)
Hallo Addi,
hier ein Beispiel in Zelle J2. Der Button in Kopfleiste "Zeilenumbruch" muss aktiviert sein.
Beispiel: https://www.herber.de/bbs/user/119656.xlsx
Gruß, Dieter(Drummer)
AW: VBA-Zusammenfassung Daten in einer Zelle
08.02.2018 15:14:38
Addi
Hallo Dieter(Drummer),
leider löst diese Formel nicht mein Problem...ich möchte ja nur die Daten in der Ziel-Zelle haben die auch in der Tabelle gepflegt sind...mit Deiner Formel (wenn ich die auf die Spalten B-H ergänze) wird mir aber in der Ziel-Zelle immer jede Überschrift angezeigt!?
Es sei den ich wende die Formel falsch an...
Dennoch vielen Dank schonmal!!
Gruß, Addi
Anzeige
AW: Da muss dann ein Spezialist ran ;-). owT
08.02.2018 15:21:29
Dieter(Drummer)
AW: Formel für Bespieldatei, Zelle J3
08.02.2018 15:47:13
Dieter(Drummer)
Hallo Addi,
das wäre dann die Formel aus meienm Beispiel in Zelle J3:
  • =C1&":"&" "&C3&ZEICHEN(10)&F1&":"&F3

  • Falls es nicht für dich passt, oder ich dich falsch vestanbden habe, muss dann doch ein anderer helfen.
    Gruß, Dieter(Drummer)
    AW: Formel für Bespieldatei, Zelle J3
    08.02.2018 15:54:41
    Addi
    Hallo Dieter,
    das ist korrekt...das würde für die Zelle auch das richtige Ergebnis liefern...allerdings habe ich über 2500 Zeilen, die ich entsprechend bearbeiten muss, und ich kann ja nicht in jede Zelle J eine angepasste Formel reinschreiben...
    Ich bräuchte eine allgemeine Fromel die die "Leerfelder" automatisch weglässt...
    Verstehst du was ich meine?
    Viele Grüße
    Adrian
    Anzeige
    AW: Verstehe ich ... da muss ein anderer ran. owT
    08.02.2018 16:00:04
    Dieter(Drummer)
    Als Ansatz
    08.02.2018 18:37:18
    Michael
    Hallo Adrian (und Dieter),
    basierend auf Deiner Bsp-Datei könnte das so gelöst werden:
    Sub a()
    Dim Wb As Workbook: Set Wb = ThisWorkbook
    Dim Ws As Worksheet: Set Ws = Wb.Worksheets(1)
    Dim r As Range, aHead, aData, aOut, i&, j&, s$
    With Ws
    Set r = .Range("A1:H" & .Cells(.Rows.Count, "A").End(xlUp).Row)
    aHead = r.Offset(, 1).Resize(1, r.Columns.Count - 1)
    aData = r.Offset(1, 1).Resize(r.Rows.Count - 1, r.Columns.Count - 1)
    ReDim aOut(1 To UBound(aData))
    For i = LBound(aData) To UBound(aData)
    For j = LBound(aData, 2) To UBound(aData, 2)
    If aData(i, j)  "" Then
    s = s & aHead(1, j) & ": " & aData(i, j) & Chr(10)
    End If
    Next j
    aOut(i) = s: s = vbNullString
    Next i
    r.Offset(1, r.Columns.Count).Resize(r.Rows.Count - 1, 1) = _
    Application.Transpose(aOut)
    End With
    Set Wb = Nothing: Set Ws = Nothing: Set r = Nothing
    Erase aHead: Erase aData: Erase aOut
    End Sub
    
    Hier als Makro "a" in Deiner Bsp-Datei retour (da kannst Du meine Makro-Ausgabe mit Deinem Wunsch-Ergebnis vergleichen): https://www.herber.de/bbs/user/119665.xlsm
    LG
    Michael
    Anzeige
    AW: Tolle Lösung Michael ...
    08.02.2018 19:07:32
    Dieter(Drummer)
    Hallo Michael,
    ... das Makro funktioniert perfekt. Ich habe mal die Zellen A bis H nach unten erweitert und dann dein Makro laufen lassen. Es wird alles perfekt in den Zellen der Spalte i, ohne die Leerzellen und sogar mit der Anpassung der notwendigen Zellenhöhe, eingefügt.
    Auch wenn ich nicht der Fragesteller bin, finde ich es ist eine tolle Lösung!
    Gruß, Danke und natürlich einen schönen Abend.
    Dieter(Drummer)
    Oh, Danke, Dieter, das ist nett...
    08.02.2018 20:30:56
    Michael
    und freut mich natürlich wenn's klappt und gefällt.
    Schönen Abend,
    Michael
    AW: Tolle Lösung Michael ...
    08.02.2018 21:07:30
    Addi
    Hallo Ihr zwei...ich bin in VBA absoluter Anfänger - allerdings habe ich diesen Code hinterlegt und er funktioniert prima.
    Eine Anpassung wäre noch super - ich weiß nicht ob Du (Dieter) dies oben schon angesprochen hast...in den Zellen ist untern immer eine Leerzeile...wie bekomme ich die weg und kann dann auf optimale Höhe anpassen?
    Bei 2500 Datensätzen macht das schon viel aus....
    Vielen Dank aber schon mal und viele Grüße
    Addi
    Anzeige
    Ergänzt...
    08.02.2018 22:00:47
    Michael
    Hallo,
    nimmt statt dieser Zeile
    aOut(i) = s: s = vbNullString
    
    diese hier
    aOut(i) = Left(s, Len(s) - 1): s = vbNullString
    
    LG
    Michael
    AW: Ergänzt...
    09.02.2018 08:13:36
    Addi
    Einwandfrei!!!
    Vielen Dank Michael, das erspart mir sehr viel Zeit!
    Viele Grüße
    Addi
    AW: Ebenfalls perfekte Lösung. Gruß. owT
    09.02.2018 08:51:58
    Dieter(Drummer)

    330 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige