Ich bin neu bei Makros und hoffe, dass mir jemand helfen kann. Ich versuche, einen Bericht aus einem Datenblatt zu erstellen, das bestimmte Bedingungen erfüllt. Ich muss alle Daten (Zellen) in einer Zeile abrufen, die beispielsweise die Bedingung <1 in Spalte 10 erfüllen, und diese Zellen/Zeilen in ein neues Blatt kopieren. Ich kann in Excel keine Funktionen finden, also hoffe ich, dass ein nicht zu fortgeschrittenes Makro, das ich ändern kann, den Trick erledigt. Vielen Dank im Voraus.
Antwort1
- Öffnen Sie eine Kopie Ihrer Excel-Tabelle mit allen Daten
- Drücken Sie ALT+ F11, um den VBA-Editor zu öffnen
Öffnen Sie im linken Bereich das Tabellenblatt 1 und fügen Sie den folgenden Code ein.
Sub mymacro() For myrow = 1 To Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row If Cells(myrow, 8) < 1 Then i = i + 1 ActiveWorkbook.Sheets(1).Rows(myrow).Copy Destination:=ActiveWorkbook.Sheets(2).Rows(i) End If Next myrow End Sub
- Gehen Sie zurück zu Ihrem Blatt, drücken Sie ALT+ F8und führen Sie Ihr Makro aus
Dieser Code wird bis zur letzten verwendeten Zeile ausgeführt, prüft, ob der Wert der 8. Spalte < 1 ist, und kopiert wenn ja, die gesamte Zeile in die nächste freie Zeile in Blatt 2.