Zwei Bedingungen
#11
Hi,

ja genau das ist, was mir gefehlt hat.

Was ich aber nicht verstehe ist, warum -rng.Row + 5.
Ich dachte, wenn ich für rng festlege Range ("C6:C50"), fange ich bei C6 mit der 1 zu zählen und müsste dann -rng.Row + 2 schreiben, bekam aber immer den Wert leer, da ja in der Spalte C von ganz oben gezählt wird.
Das war mein Denkfehler.

Danke euch!

Grüße
Top
#12
Hallo,

unten der Code sollte das machen, was Du in der Beispieldatei vorgibst:


Code:
Sub mach()
 
 Dim j As Long, lngZ As Long
 Dim ati, att, c00
 
 With Worksheets("XXX")
   lngZ = .Cells(.Rows.Count, 4).End(xlUp).Row
   ati = .Range("D11:L" & lngZ)
 End With
 
 For j = 1 To UBound(ati)
   If IsNumeric(Application.Match("x", Application.Index(ati, j), 0)) Then c00 = c00 & " " & j
 Next
 att = Application.Index(ati, Application.Transpose(Split(Trim(c00))), [transpose(row(1:9))])
 
  With Worksheets("MMM")
   .Range("B5").CurrentRegion.ClearContents
   .Range("B5").Resize(UBound(att), 9) = att
   lngZ = .Cells(.Rows.Count, 2).End(xlUp).Row
   .Range("D5:J" & lngZ).Name = "atika" '    rngA.Select
   [atika] = [if(iserr(search("x",atika)),"",xxx!f9:l9)]
   .Range("atika").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft
   .Columns("C:C").Delete
 End With
 
End Sub

Ich habe Dein Beispiel für mich genutzt um einige neue Dinge, die ich vor Kurzem gelernt habe hier anzuwenden.
Deine Beipeildatei eignete sich sehr gut dazu.
Für Dich mag mein Code als Anregung dienen.

Unten Deine Beispieldatei:


.xlsm   Tabelle nach Bedingung zusammenfassen.xlsm (Größe: 19,82 KB / Downloads: 0)
Gruß Atilla
Top
#13
Hallöchen,

da versteh ich jetzt nicht ganz, wozu das gut sein soll. Du wärst dann doch immer in der gleichen Zeile?
Dann würde z.B. was in der art gehen:
Cells(53).Offset(0,2)
...
Cells(5,3).Offset(0,5)
...
usw.

Du bleibst damit immer in Zeile 5 und nimmst dann von C5 aus nur noch den Spaltenoffset.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#14
Hallo zusammen,

hmm, sollte man wirklich die Vorgehensweise des TE weiter unterstützen?
Oder sollte man ihm eindringlich davon abraten mit activate, select und offset hier etwas zusammenzubasteln?

Mein eingestellter Code wird ihn sicher zu keiner eigenständigen Lösung verhelfen, aber ihn zum Nachdenken animieren, hoffe ich.
Als Anfänger würde ich hier eine Variante mit zwei Schleifen nutzen.

Nach dem Prinzip:
Alle Zeilen von Zeile 5 bis letzte Zeile durchlaufen
  und dabei alle Spalten von Spalte 6 bis Spalte 12 durchlaufen
  und dabei jede Zelle auf "x" prüfen, wenn vorhanden dann in die andere Tabelle schreiben

Wo und wie geschrieben werden soll muss dann innerhalb der Schleifendurchläufe genau definiert werden.
Dabei kann man ihm dann gezielt helfen.
Gruß Atilla
Top


Gehe zu:


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