Clever-Excel-Forum

Normale Version: Dynamisches Einfügen / Auffüllung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
ich stehe hier vor einem worst case mit Excel. Ein Bsp um die Situation zu deutlichen habe beigefügt.
In Tabelle 1 werden solche Daten hochgeladen. Es muss dann, wie in Tabelle 2 dargestellt, sein.

Wie komme ich mit dynamischer Formel zu der Tabelle Lösung im Anhang.
Bei Rückfragen bin ich da, zur Erläuterung :)[attachment=36350]

LG
Kevin
Hallo Kevin,

lass folgendes Makro drüber laufen:
Sub aaa()
Dim rngA As Range
For Each rngA In Columns(2).SpecialCells(xlCellTypeBlanks).Areas
rngA.Offset(, -1).Resize(, 3).Borders(xlEdgeBottom).LineStyle = xlContinuous
rngA.Offset(, 1).Value = rngA.Offset(-1).Resize(1, 1).Value
rngA.Value = rngA.Offset(-1, -1).Resize(1, 1).Value
rngA.Offset(-1, -1).Resize(1, 2) = ""
Next rngA
Cells(1, 3).Value = Cells(1, 2).Value
Cells(1, 2).Value = "Name"
Cells(1, 1).Value = "Datum"
Columns(2).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
Gruß Uwe
Hallo lieber Uwe,
vielen Dank für dein Tipp bzw. deinen Lösungsvorschlag. Nur ist es, dass ich mich nicht mit Makros und fortgeschrittene Ansätze kenne. Ich dachte, es würde auch mit "Excel-Befehle" gehen.
LG
Kevin
Moin

Bitte definiere "Excel-Befehle".
Hallo Kevin,

in der Anlage ein Lösungsvorschlag mit Formeln und zwei Hilfsspalten im Blatt "Zeitplan".
Hallo liebe/r Ego,

vielen Dank. Ich finde es toll mit den Hilfspalten. Es soll genau so aussehen, wie Du es gemacht hast.
Leider sieht der Export anders aus und sollte nicht geändert werden. Im Anhang siehst Du genau wie der Export aussieht sowie wie ich mir das gerade überlegt habe. Und die Linien, die die namen trennen müssen ebenfalls nicht da sein, es war zur verdeutlichung, als ich das Problem gestellt habe.

LG
Kevin.


Hallo, sorry. Ich meinte Excel Formel bzw. funktionen
In VBA:

Code:
Sub M_snb()
  sn = Cells(1).CurrentRegion.Resize(, 3)
  
  For j = 2 To UBound(sn)
    If sn(j, 2) <> "" Then
        sp = Array(sn(j, 1), sn(j, 2))
        sn(j, 1) = ""
        sn(j, 2) = ""
    Else
        sn(j, 2) = sp(0)
        sn(j, 3) = sp(1)
    End If
  Next
  
  Cells(1, 6).Resize(UBound(sn), UBound(sn, 2)) = sn
End Sub
... sollen dann die ungewünschten löschen, aber wie in den formeln ? Undecided
Ich glaube nicht dass die csv so aussieht dass Texte mitten im Wort gesplittet werden.
Bitte stelle die ursprüngliche (anonymisierte) csv zur Verfügung.
Hallo Kevin

bitte sehr: