Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Excel 2010: Matrix in Liste zurück umwandeln

Mitglied: AdminKnecht

AdminKnecht (Level 1) - Jetzt verbinden

26.11.2015, aktualisiert 15:14 Uhr, 2458 Aufrufe, 4 Kommentare

Hallo,

ich habe hier ein kleines Excel-Problem, und zwar will ich aus einer Matrix (zweidimensional) wieder eine eindimensionale Liste machen, zur Veranschaulichung mal dieses Beispiel hier, bei der die Matrix mit den Mengen je Kunde und Artikel vorgegeben ist und eine Liste in der Form des Beispiels darunter erzeugt werden soll:

5943a1aa1e431f383bd691efafc9c682 - Klicke auf das Bild, um es zu vergrößern

..also quasi eine "Pivot-Tabelle rückwärts", wenn man so möchte!

Das geht vermutlich nur per VBA, oder?

Ich bin euch für jeden Tipp dankbar!

Marcus


Mitglied: 114757
LÖSUNG 26.11.2015, aktualisiert um 15:14 Uhr
https://drive.google.com/file/d/0B_Oqbs4tcHfrRkdVejJuMHFwdEU/view?usp=sh ...
01.
Sub ListMatrix()
02.
    With Sheets(1)
03.
        'jede Zelle der Kundennamen von oben nach unten durchlaufen
04.
        For Each r In .Range("A3:A" & .Cells(Rows.Count, "A").End(xlUp).Row)
05.
            ' Die Anzahl der Spaltenüberschriften ermitteln und darüber iterieren
06.
            For c = 1 To .Range("A2").End(xlToRight).Column - 1
07.
                ' Nur wenn Wert größer 0 dann erstelle neue Einträge
08.
                If r.Offset(0, c).Value > 0 Then
09.
                    ' so oft Einträge erstellen wie der Wert der Zelle
10.
                    For i = 1 To r.Offset(0, c).Value
11.
                        ' Nächste freie Zeile ermitteln
12.
                        Set newline = Sheets(2).Cells(Rows.Count, "A").End(xlUp).Offset(1, 0)
13.
                        ' Wert der neuen Zeile mit Kundenname und Artikelbezeichnung setzen
14.
                        newline.Resize(1, 2).Value = Array(r.Value, .Cells(2, c + 1).Value)
15.
                    Next
16.
                End If
17.
            Next
18.
        Next
19.
    End With
20.
End Sub
Gruß jodel32

-edit- leicht nachkorrigiert
Bitte warten ..
Mitglied: AdminKnecht
26.11.2015 um 11:52 Uhr
..super sieht das aus, da muss ich jetzt nur noch durchsteigen

Was mir aufgefallen ist das, wenn ich in deiner Original-XLSM den Code via Button einmal ausführe und dann das erzeugte 2. Tabellenblatt lösche um es erneut zu testen, dann bekomme ich einen "Index ausserhalb des gültigen Bereichs"-Fehler... ?
Bitte warten ..
Mitglied: 114757
26.11.2015, aktualisiert um 12:33 Uhr
Ja nee, das ist normal, weil der Code kein neues Blatt erzeugt sondern das zweite Sheet hier immer als Ausgabe benutzt, wenn du das löschst und kein zweites Sheet ist mehr da , dann ist ja klar das ein Index-Out-of-Bounds kommt
Das lässt sich aber alles nach Bedarf anpassen das immer ein neues Sheet erzeugt wird etc pp..., war ja nur ein simples Beispiel.

super sieht das aus, da muss ich jetzt nur noch durchsteigen
Oben im Quelltext mit Kommentaren ergänzt ...
Bitte warten ..
Mitglied: AdminKnecht
26.11.2015 um 15:14 Uhr
Perfekt, ich danke dir sehr für deine Mühe, damit habe ich das hinbekommen und werde das in einer ruhigen Minute auch mal anpassen, das z.B. mehr als eine Zeile als Beschriftungen dazu gefügt wird!

Viele Grüße
Marcus
Bitte warten ..
Ähnliche Inhalte
Microsoft Office

Excel: Mit Matrix abgleichen und neue Übersicht

Frage von supertuxMicrosoft Office4 Kommentare

Hallo, ich habe hier ein kleines Beispiel meiner Tabelle erstellt, die Daten (A3-B8) werden aus einer CSV importiert. Leider ...

Microsoft Office

Formulardaten in Excel-Diagramm umwandeln

Frage von achkleinMicrosoft Office1 Kommentar

Hallo, ich habe eine Online-Fragebogen entworfen und mir liegen jetzt 120 Antworten vor. Diese habe ich von Google Docs ...

Microsoft Office

Excel: Beim Sverweis in der Matrix variable Dateinamen nutzen

Frage von blacksunMicrosoft Office

Hallo, ich habe eine Mastertabelle mit Hersteller, Standort, usw. Diese Tabelle soll um weitere Spalten mit Seitenzahlen ergänzt werden. ...

Microsoft Office

Excel 2010 - Kontaktaufnahme

gelöst Frage von padimonuMicrosoft Office6 Kommentare

Hallo, derzeit habe ich ein Problem bei unseren Clients im Netzwerk. Vor einiger Zeit wurde unsere Fileserver (auch namentlich) ...

Neue Wissensbeiträge
Off Topic
Europawahl 2019 - Ein Statement der Jugend
Information von Frank vor 17 StundenOff Topic12 Kommentare

Dies ist ein offener Brief. Ein Statement. Von einem großen Teil der Youtuber-Szene. Am Wochenende sind die EU-Wahlen und ...

Off Topic
Europawahl 2019
Information von Frank vor 1 TagOff Topic44 Kommentare

Vom 23. bis 26. Mai 2019 findet die Europawahl in den Mitgliedstaaten der Europäischen Union statt (ja auch in ...

Humor (lol)

Minister wollen offenbar Ausweispflicht für .de-Domain

Information von Kraemer vor 2 TagenHumor (lol)7 Kommentare

Zitat von Golem.de: Die zuständigen Verbraucherschutzminister fordern einem Medienbericht zufolge offenbar eine Ausweispflicht für .de-Domains. Das soll Betrugsfälle mit ...

Off Topic
Was als Noob hier mal gesagt werden musste
Information von th30ther vor 3 TagenOff Topic5 Kommentare

Moinsen wertes Forum, ich möchte mich an dieser Stelle mal beim Forum generell und bei aqui speziell bedanken! Ich ...

Heiß diskutierte Inhalte
Off Topic
Europawahl 2019
Information von FrankOff Topic44 Kommentare

Vom 23. bis 26. Mai 2019 findet die Europawahl in den Mitgliedstaaten der Europäischen Union statt (ja auch in ...

Router & Routing
ZyXEL ZyWALL USG 20 Routing
Frage von Oggy01Router & Routing18 Kommentare

Hallo, und wieder habe ich ein Problem mit dem Routing. Bis vor ein paar Tagen habe ich das mit ...

Off Topic
Europawahl 2019 - Ein Statement der Jugend
Information von FrankOff Topic12 Kommentare

Dies ist ein offener Brief. Ein Statement. Von einem großen Teil der Youtuber-Szene. Am Wochenende sind die EU-Wahlen und ...

Server-Hardware
Server Umbau
Frage von cyberworm83Server-Hardware10 Kommentare

Hallo zusammen, ich habe einen 19" Server (HP ProLiant DL160 G6) dieser ist auch super. ABER jetzt meine Frage: ...