Matrix zu Tabelle
#1
Hallo zusammen!

Ich habe eine matrix mit 208 Zeilen und 208 Spalten. In der ersten Zeile/Spalte stehen die x/y Koordinaten. Der Inhalt der Matrix ist dann mein z-Wert. Aus dieser Matrix möchte ich nun eine Tabelle machen (x, z, y). Kann mir jemand einen Tipp geben wie ich das anstelle? Ich nehme an ich muss ein Makro schreiben. Damit habe ich bisher keine Erfahrungen. Danke für eure Hilfe.
Gruß ONeill
Top
#2
Hallo,

Zeige das bitte mal an einem Muster Ist/Soll (Tabelle, kein Bild!)
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#3
Hallo BoskoBiati!

Ich habe beides angehängt. Danke für den Kommentar.

Gruß ONeill


Angehängte Dateien
.xlsx   testmatrix.xlsx (Größe: 400,54 KB / Downloads: 5)
.xlsx   testtabelle.xlsx (Größe: 7,96 KB / Downloads: 5)
Top
#4
Hallo,

z.B. so:


Arbeitsblatt mit dem Namen 'Tabelle1'
 ABC
1110,0324674
2120,0220438
3130,0304062
4140,035847
515 
616 
717 
818 

ZelleFormel
A1=KÜRZEN((ZEILE(A1)-1)/207;)+1
B1=REST(ZEILE(A1)-1;207)+1
C1=INDEX('[testmatrix.xlsx]MTM-002-S1 data'!$B$2:$GZ$208;A1;B1)
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#5
Hallo,

zu spät, aber VBA.

Da mein Laptop "Überlauf" anzeigte, hier der ungeteste Code.

Bitte zuerste ein neues Sheet "Fen" anlegen.

Code:
Sub Fen()
Dim Erg(207 * 207, 2)
Range("A1").value = "Anfang"
Ar = Cells(1).CurrentRegion
For i = 1 To 207 'Spalten
   For j = 1 To 207 ' Zeilen
       Erg(j, i, 0) = j
       Erg(j, i, 1) = i
       Erg(j, i, 2) = Ar(i + 1, j+1)
   Next j
Next i
Sheets("Fen").Cells(1).Resize(207, 3) = Erg
End Sub


mfg
Top
#6
Hallo,

hier eine getestete Vba Lösung:


Code:
Sub matrix_zu_tabelle()
 Dim i As Long, j As Long, k As Long
 Dim lngA As Long
 Dim feld
 Dim arr(CLng(207) * 207, 2) As Variant
 
 feld = Cells(1, 2).CurrentRegion
 
 For i = 1 To 207 'Spalten
    For j = 1 To 207 ' Zeilen
        arr(k, 0) = i
        arr(k, 1) = j
        arr(k, 2) = feld(i + 1, j + 1)
        k = k + 1
    Next j
 Next i
 
 With Sheets("Tabelle2")
   .Cells.Clear
   .Cells(1).Resize(k, 3) = arr
 End With

End Sub
Gruß Atilla
Top
#7
Hallo BoskoBiati!

Vielen Dank deine Lösung funktioniert problemlos. Vielen Dank auch an Fennek und atilla für die Alternative.

Gruß ONeill
Top


Gehe zu:


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