Thema Datum  Von Nutzer Rating
Antwort
06.09.2021 15:20:55 Sascha
NotSolved
06.09.2021 15:59:29 Mase
NotSolved
08.09.2021 10:40:57 Sascha
NotSolved
Blau Tabelle in Zeilen und Spalten auflösen
08.09.2021 14:29:32 Mase
*****
Solved
14.09.2021 09:06:14 Sascha
NotSolved

Ansicht des Beitrags:
Von:
Mase
Datum:
08.09.2021 14:29:32
Views:
268
Rating: Antwort:
 Nein
Thema:
Tabelle in Zeilen und Spalten auflösen

Der Debug-Output spuckt unterschiedliche Arrays aus

Nicht ein einziges Array "spuckt" der Debug-Output aus. Es werden einzelne Werte verkettet im Direktfenster ausgegeben.

Praktisch um inmitten der Lösungsfindung Meilensteine zu setzen.



 

Dim MatrixArr   As Integer
Dim Z, r, c     As Integer

Sascha, das sieht herb aus. 

Der Datentyp Integer ist Deinem Fall ohnehin falsch gewählt.

Die Variablen Z und r werden so als Variant und nicht als Integer deklariert.

MatrixArr wird so nicht als Array deklariert.



 

Ich denke da fehlt es ziemlich an den Basics.

Hier ein paar Links - solltest Dir zu Gemüte führen

Visual Basic für Applikationen - Das VBA-Tutorial

WiseOwlTutorials - YouTube

VBA Articles - Excel Macro Mastery

 



 

Anmerkungen:

Mase: 

 Set rngZeilen = Range("A2:A5")

Sascha:

 Set rngZeilen = Range("A1:AA5") 

Frage:

WTF?

 

Weitere Anmerkungen:

Dass Du meine innere Schleife so verschandelt hast sollte Ich Dir persönlich nehmen ;)

Auch da: Sieht aus wie im wilden Westen.

 

By the way: Mein Testergebnis war mit Deinem händisch eingetragenen Zielzustand deckungsgleich.

 



Weiter im Programm:

Schau Dir mal folgende Lösung (ohne Array) an.

Es wird ein neues Arbeitsblatt erzeugt und das Ergebnis da reingeschrieben.

Habe Dir ausführlich kommentiert, sodass leserlicher und sich besser nachvollziehen lässt.

Sub MatrixInListe()
    
    '*** Deklarationsteil
    Dim cZeilen         As Excel.Range
    Dim cSpalten        As Excel.Range
    Dim rngZeilen       As Excel.Range
    Dim rngSpalten      As Excel.Range
    Dim wksQuellBlatt   As Excel.Worksheet
    Dim wksErgbnisblatt As Excel.Worksheet
  
    '*** Definitionsteil
    Set wksQuellBlatt = Tabelle1                        '*** Referenz auf das Quellarbeitsblatt in einer Objektvariablen ablegen
    Set wksErgbnisblatt = ThisWorkbook.Worksheets.Add   '*** Referenz auf das Ergebnisblatt ablegen und gleich eins anlegen
    Set rngZeilen = wksQuellBlatt.Range("A2:A5")        '*** Referenz auf die Zeile A2 bis A5
    Set rngSpalten = wksQuellBlatt.Range("B1:AA1")      '*** Referenz auf die Spalten B1 bis AA1
          
    '*** ab hier Wertzuweisungen usw möglich
    wksErgbnisblatt.Name = "Ergebnis"                   '*** selbsterklärend
          
    For Each cZeilen In rngZeilen
              
            For Each cSpalten In rngSpalten
                
                'Debug.Print cZeilen.Value & vbTab & cSpalten.Value & vbTab & cZeilen.Offset(0, cSpalten.Column - 1).Value   <~~ Meilenstein
                With wksErgbnisblatt
                    With .Cells(.Rows.Count, 1).End(xlUp)
                        .Offset(1, 0).Value = cZeilen.Value
                        .Offset(1, 1).Value = cSpalten.Value
                        .Offset(1, 2).Value = cZeilen.Offset(0, cSpalten.Column - 1).Value
                    End With
                End With
                
            Next cSpalten
              
    Next cZeilen
    
    
    
    
End Sub

 

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
06.09.2021 15:20:55 Sascha
NotSolved
06.09.2021 15:59:29 Mase
NotSolved
08.09.2021 10:40:57 Sascha
NotSolved
Blau Tabelle in Zeilen und Spalten auflösen
08.09.2021 14:29:32 Mase
*****
Solved
14.09.2021 09:06:14 Sascha
NotSolved