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.

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
Antworten 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
Antworten 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)
Antworten 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
Antworten Top


Gehe zu:


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