Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1724to1728
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

Zeilen in Spalten darstellen

Zeilen in Spalten darstellen
22.11.2019 09:46:34
Peter
Hallo Excel-Forum, ich habe Daten aus einer externen Quelle, die untereinander stehen. Zu jedem Artikel sollen aber die zugehörigen Zeichnungen in den Spalten daneben dargestellt werden. Die Anzahl der Zeichnungen variiert, aber max. 5 Zeichnungen. Weitere Details habe ich in der Datei beschrieben.
Besten Dank schon mal für eure Hilfe.
Gruß Peter
https://www.herber.de/bbs/user/133369.xlsx

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen in Spalten darstellen
22.11.2019 10:23:35
Nepumuk
Hallo Peter,
teste mal:
Option Explicit

Public Sub Tabelle_umstellen()
    Dim lngInputRow As Long, lngOutputRow As Long, lngOutputColumn As Long
    Dim objInputWorksheet As Worksheet, objOutputWorksheet As Worksheet
    Application.ScreenUpdating = False
    Set objInputWorksheet = ActiveSheet
    Set objOutputWorksheet = ThisWorkbook.Worksheets.Add(After:=ActiveSheet)
    objOutputWorksheet.Range("A1:F1").Value = Array("Artikel", "Zeichnung_1", _
        "Zeichnung_2", "Zeichnung_3", "Zeichnung_4", "Zeichnung_5")
    lngOutputRow = 1
    With objInputWorksheet
        For lngInputRow = 4 To .Cells(.Rows.Count, 2).End(xlUp).Row 'Startzeile anpassen !!!
            If Not IsEmpty(.Cells(lngInputRow, 1).Value) Then
                lngOutputColumn = 2
                lngOutputRow = lngOutputRow + 1
                objOutputWorksheet.Cells(lngOutputRow, 1).Value = .Cells(lngInputRow, 1).Value
                objOutputWorksheet.Cells(lngOutputRow, 2).Value = .Cells(lngInputRow, 2).Value
            Else
                lngOutputColumn = lngOutputColumn + 1
                objOutputWorksheet.Cells(lngOutputRow, lngOutputColumn).Value = .Cells(lngInputRow, 2).Value
            End If
        Next
    End With
    objOutputWorksheet.Columns("A:F").AutoFit
    Set objInputWorksheet = Nothing
    Set objOutputWorksheet = Nothing
    Application.ScreenUpdating = True
End Sub

Gruß
Nepumuk
Anzeige
AW: Zeilen in Spalten darstellen
22.11.2019 12:15:10
Peter
Hallo Nepumuk, die VBA-Lösung funktioniert auch super, ist ja bei euch Spezialisten nicht anders zu erwarten.
Jetzt kann ich ins Wochenende gehen :-)
Auch Dir ein dickes Dankeschön.
Gruß Peter
AW: alternativ als Formellösung ...
22.11.2019 10:39:26
neopa
Hallo Peter,
... für z.B. max 996 Datensätze so: Formel D4 nach unten und E4 zusätzlich auch nach rechts weit genug ziehend kopieren:
Arbeitsblatt mit dem Namen 'Tabelle2'
 ABCDEFGHI
3ArtikelZeichnung ArtikelZeichnung_1Zeichnung_2Zeichnung_3Zeichnung_4Zeichnung_5
44711asset_1094334.jpg 4711asset_1094334.jpgasset_1094336.jpgasset_1149512.jpg  
5 asset_1094336.jpg 4712asset_1094339.jpgasset_1094340.jpg   
6 asset_1149512.jpg 4713asset_1094334.jpgasset_1094836.jpgasset_1149612.jpgasset_1149614.jpg 
74712asset_1094339.jpg 4720asset_1094334.jpgasset_1094336.jpgasset_1149512.jpg  
8 asset_1094340.jpg 4727asset_1094334.jpgasset_1094336.jpgasset_1149512.jpg  
94713asset_1094334.jpg 4730asset_1094334.jpgasset_1094336.jpgasset_1149512.jpg  
10 asset_1094836.jpg       
11 asset_1149612.jpg       
12 asset_1149614.jpg       
134720asset_1094334.jpg       
14 asset_1094336.jpg       
15 asset_1149512.jpg       
164727asset_1094334.jpg       
17 asset_1094336.jpg       
18 asset_1149512.jpg       
194730asset_1094334.jpg       
20 asset_1094336.jpg       
21 asset_1149512.jpg       
22         

ZelleFormel
D4=WENNFEHLER(INDEX(A:A;AGGREGAT(15;6;ZEILE(A$4:A$999)/(A$4:A$999>"");ZEILE()-ZEILE(A$3)));"")
E4=WENN(D4="";"";WENN(SPALTE()-SPALTE($E3)&gt=WENN($D5="";999;VERGLEICH($D5;$A:$A;0))-VERGLEICH($D4;$A:$A;0);""; INDEX($B:$B;VERGLEICH($D4;$A:$A;0)+SPALTE()-SPALTE($E3))&""))
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Gruß Werner
.. , - ...
Anzeige
Dickes Dankeschön
22.11.2019 11:44:15
Peter
Hi, ein dickes Dankeschön an euch. Ich habe jetzt erst mal die Formellösung von Werner genommen. Werde aber die VBA-Lösung von Nepumuk auch noch testen.
Super Hilfe.
Danke.
Grüße Peter
AW: bitteschön, gern owT
22.11.2019 11:56:27
neopa
Gruß Werner
.. , - ...
AW: alternativ als Formellösung ...
22.11.2019 13:58:07
Günther
Moin,
und bei wirklich großen Datenmengen bietet sich auch noch Power Query an. ;-)
Gruß
Günther
AW: Zeilen in Spalten darstellen
22.11.2019 14:23:56
Daniel
Hi
probier mals das Makro, passend für die Beispieldatei
Sub test()
With Cells(3, 1).CurrentRegion
With .Columns(.Columns.Count + 1)
.FormulaR1C1 = "=RC2&IF(R[1]C1="""","";""&R[1]C,"""")"
.Formula = .Value
.TextToColumns Destination:=.Cells(1, 1), _
DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
Tab:=False, Semicolon:=True, Comma:=False, Space:=False, Other:=False
End With
.Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
End Sub
Gruß Daniel
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige