Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Matrix Analyse





Frage

Hallo Zusammen, Hoffe das ist nicht allzu schwierig. Ich habe eine Tabelle die ca. so aussieht. S1 S2 S3 S4 S5 S6 Z1 Z2 blau blau1 blau2 Z3 gelb gelb1 gelb2 Z4 gru gru1 gru2 Z5 Name1 Name2 Name3 x Z6 Namea Nameb Namec x Z7 Named Namef Nameg x Z8 Nameh Namei Namej x . . . . So, Ziel ist es, dass alle Zeilen abgearbeitet werden und falls ein x vorhanden ist die in einem neuen Sheet ein Zeile entsteht mir folgedem Inhalt S1 S2 S3 S4 S5 S6 Name1 Name2 Name3 blau gelb gru Namea Nameb Namec blau1 gelb1 gru1 etc.. Ich weiss ich muss da Werte in Variablen schreiben aber irgednwie hab ich gerade einen Hänger. Für Tips wäre ich sehr dankbar. Danke und Gruss Marco Hier nocheinmal das ganze als HTML. zur besseren Übersicht... [code] <html> <head> <title></title> </head> <body> <div class="Section1"> <p class="MsoNormal">Hallo Zusammen,</p> <p class="MsoNormal"></p> <p class="MsoNormal">Hoffe das ist nicht allzu schwierig. Ich habe eine Tabelle die ca. so aussieht.</p> <p class="MsoNormal"> <span lang="EN-GB">S1 S2 S3 S4 S5 S6</span></p> <p class="MsoNormal"> <span lang="EN-GB">Z1</span></p> <p class="MsoNormal"> <span lang="EN-GB">Z2 blau blau1 blau2</span></p> <p class="MsoNormal">Z3 gelb gelb1 gelb2</p> <p class="MsoNormal">Z4 gru gru1 gru2</p> <p class="MsoNormal">Z5 Name1 Name2 Name3 x</p> <p class="MsoNormal">Z6 Namea Nameb Namec x</p> <p class="MsoNormal">Z7 Named Namef Nameg x </p> <p class="MsoNormal">Z8 Nameh Namei Namej x</p> <p class="MsoNormal">So, Ziel ist es, dass alle Zeilen abgearbeitet werden und falls ein x vorhanden ist die in einem neuen Sheet </p> <p class="MsoNormal">ein Zeile entsteht mir folgedem Inhalt</p> <p class="MsoNormal"> <span lang="EN-GB">S1 S2 S3 S4 S5 S6</span></p> <p class="MsoNormal"> <span lang="EN-GB"> Name1 Name2 Name3 blau gelb gru</span></p> <p class="MsoNormal"> <span lang="EN-GB"> </span>Namea Nameb Namec blau1 gelb1 gru1</p> <p class="MsoNormal">etc..</p> <p class="MsoNormal"></p> <p class="MsoNormal">Ich weiss ich muss da Werte in Variablen schreiben aber irgednwie hab ich gerade einen Hänger. Für Tips wäre ich sehr dankbar.</p> <p class="MsoNormal"></p> <p class="MsoNormal">Danke und Gruss</p> <p class="MsoNormal">Marco</p></div> </body> </html> [/code]

Antwort 1 von Event

Hallo

So richtig schlau machst Du uns nicht!
Wär besser gewesen Du hättest den Xml-Code Deiner Tabelle gepostet.
Sollte es bei etc.. etwa so weitergehen?

Named Namef Nameg blau2 gelb2 gru2 ...????

Ich Rätsle...und was soll dann hinter

Nameh Namei Namej

stehen ???
Gruß

Antwort 2 von Nzer_de

Ja ich weiss.....war nicht gerade übersichtlich aber besser hab ich es da nicht hinbekommen. Habs jetzt selbst herausgefunden wie es geht. Hier mein Newbie Code:

Sub Matrix()
Dim Zaehler1 As Long, MaxRow As Long, MaxCol As Integer, Zaehler2 As Long
Dim VarWert1 As String, VarWert2 As String, VarKombi As String
Dim zeile As Long

zeile = 500 ´Starzeile festlegen

If IsEmpty(Cells(65536, ActiveCell.Column)) _
Then Cells(65536, ActiveCell.Column).End(xlUp).Select _
Else Cells(65536, ActiveCell.Column).Select
MaxCol = (ActiveCell.Column)
MaxRow = (ActiveCell.Row)

MaxRow = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row ´letzen gefüllte Zelle in Spalte A finden
´MaxCol = Selection.End(xlToRight).Column ´letzen gefüllte Zelle in Zeile 3 finden
MaxCol = 31 ´ Anzahl der Spalten angeben
For Zaehler2 = 10 To MaxCol ´MaxCol´mein Daten Stehen in Spalte 10
For Zaehler1 = 6 To MaxRow ´meine Daten beginnen in Zeile 6
If Cells(Zaehler1, Zaehler2).Value = "x" Then
VarWert2 = Cells(Zaehler1, 1) & ";" & Cells(Zaehler1, 2) & ";" & Cells(Zaehler1, 3) & ";" & Cells(Zaehler1, 4) & ";" & Cells(3, Zaehler2) & ";" & Cells(4, Zaehler2) & ";" & Cells(5, Zaehler2) ´Berechtigungen einlesen

End If
If VarWert2 = "" Then
zeile = zeile - 1
End If
If VarWert2 <> "" Then
Cells(zeile, MaxCol + 1) = VarWert2 ´Inhalt der Sammel-Variablen in Zelle schreiben
VarWert2 = ""
End If

zeile = zeile + 1 ´Zeilenzahl fürs nächste Schreiben erhöhen
Next Zaehler1
Next Zaehler2

´ Kopieren des Ergebnisses in Sheet1
Range("AF500").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
Sheets("Sheet1").Select
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Columns("A:A").Select
Range("A3").Activate
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1)), TrailingMinusNumbers:=True
Columns("A:G").Select
Range("A3").Activate
Columns("A:G").EntireColumn.AutoFit
Range("A1").Select

´Sortieren nach Name
Selection.Sort Key1:=Range("A1"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub


Trotzdem Danke. Dieses Forum ist wikklich gut