Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Spalten in Zeilen umwandeln, wenn diese befüllt sind
#1
Hallo liebe Forumsgemeinde,

das ist meine erste Nachricht hier und ich sitze wohlmöglich vor einem für euch recht einfachem Problem.
Meine Datentabelle soll die Zeilen und Spalten zueinander zuordnen, so dass diese befüllt werden, sofern diese auch einen Wert besitzen.


.xlsx   Beispieldatensatz.xlsx (Größe: 12,31 KB / Downloads: 11)

Gibt es dafür eine Prozedur, die mir das Umwandeln erleichtert?
Sprich Daten nur umwandeln, wenn auch wirklich etwas vorher in der Spalte stand.

Vielen Dank.
Antworten Top
#2
Hallo

in ein normales Modul
Code:
Sub Transform()
    Dim TB1 As Worksheet, TB2 As Worksheet
    Dim LR As Integer, LC As Integer, i As Integer, j As Integer, Z As Integer
   
    Set TB1 = Sheets("Beispieldatensatz")
    Set TB2 = Sheets("Ziel")
   
   
    'Reset
    TB2.UsedRange.Offset(1).ClearContents
    Z = 2 'erste Zielzeile
   
    LR = TB1.Cells(TB1.Rows.Count, 1).End(xlUp).Row 'letzte Zeile der Spalte
    LC = TB1.Cells(1, TB1.Columns.Count).End(xlToLeft).Column 'letzte Spalte einer Zeile
   
    For i = 2 To LR
        For j = 2 To LC
            If TB1.Cells(i, j) <> "" Then
                TB2.Cells(Z, 1) = TB1.Cells(i, 1)
                TB2.Cells(Z, 2) = TB1.Cells(1, j)
                TB2.Cells(Z, 3) = TB1.Cells(i, j)
                Z = Z + 1
               
            End If
        Next j
    Next
End Sub

LG UweD
[-] Folgende(r) 1 Nutzer sagt Danke an UweD für diesen Beitrag:
  • orhane
Antworten Top
#3
Vielen Dank, ich probiere es gleich aus.

Funktioniert wunderbar, jetzt werde ich nur es versuchen zu erweitern, wenn ich noch mehr Variablen habe, die ich auflisten möchte, aber somit ist die Vorgehensweise sehr gut transparent nachvollziehbar.
18
Antworten Top
#4
Hallo

Oder als Alternative mit PQ, einfach PQ Tabelle nur Aktualisieren.


Angehängte Dateien
.xlsx   Beispieldatensatz_orhane.xlsx (Größe: 19,29 KB / Downloads: 3)
Viele Grüße
PIVPQ
[-] Folgende(r) 1 Nutzer sagt Danke an PIVPQ für diesen Beitrag:
  • orhane
Antworten Top
#5
(13.06.2022, 14:45)PIVPQ schrieb: Hallo

Oder als Alternative mit PQ, einfach PQ Tabelle nur Aktualisieren.

Vielen Dank, ich finde PowerQuery ziemlich gut, nur müsste Ich mich in die Steuerung der Elemente und Zuordnung der Daten und Verweise einarbeiten. Viele Grüße
Antworten Top


Gehe zu:


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