Daten aus Spalte flexibel anordnen
#1
Guten Tag, 
Ich habe folgendes Problem. Ich möchte gerne Daten welche sich in einer Spalte befinden in einen Block aus mehreren Spalten auswerten. Das Problem ist, dass die Spaltenanzahl variabel sein muss. 
Wie auf dem Screenshot. 
Links sind ist mein Datensatz. 
Dann eine kurze Tabelle über die benötigte Spaltenanzahl und dann der angeordnete Block. Im Beispiel werden die Daten der Reihe nach auf 10 Spalten aufgeteilt. Gibt es da eine Funktion die mir das erleichtern könnte?
Lg



Angehängte Dateien Thumbnail(s)
   
Top
#2
Moin

Da gibt's doch was bei excelformeln.nicht-mehr-de.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Top
#3
Hi,

Bilder helfen nicht - lad bitte eine .xlsx hoch. Sieht so dein Original (vom Aufbau her) aus? Ohne Überschriften, einfach irgendwohin ein paar Zahlen geklatscht?
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#4
So, es hat etwas gedauert. 
In der Tabelle sheet1 ist der komplette Datensatz. In Tabelle 3 die Spaltenanzahl der zugehörigen Größe und in Tabelle 2 schon mal eine Auswertung wie sie fertig aussehen sollte, also grafisch, nur eben nicht automatisiert. 
Bitte danke


Angehängte Dateien
.xlsx   120096890.xlsx (Größe: 42,01 KB / Downloads: 5)
Top
#5
Keine Ahnung, was Brett und Lage ist. Bin kein Tischler oder Schreiner.

Dieses Makro, eingefügt in das Modul Tabelle2 in Deiner Tabelle erzeugt automatisch einen Block, sobald du eine Zahl (z.B. 8) in C1 in Tabelle2 einträgst, mit 8 Spalten.

Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim k As Range, v As Range, n As Long
    If Intersect(Target, Range("C1")) Then
        Set k = Range("A3")        'Erste Zelle Liste
        Set v = Range("C2")        'erste Zelle Block
        Set k = Range(k, k.End(xlDown))
        Set v = v.Resize(Int(k.Rows.Count / Range("C1")) + 1, Range("C1"))
        Application.EnableEvents = False
        v.Resize(v.Rows.Count + 2, v.Columns.Count + 2).Clear
        For n = 1 To k.Rows.Count
            v(n).Value = k(n)
        Next n
        Application.EnableEvents = True
    End If
End Sub



LG
Top


Gehe zu:


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