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.

mit VBA Filterbedingung festlegen
#1
Guten Morgen in das Excel-Forum.
Habe eine Frage zum Filtern / auswählen von Daten.

Traue mich mal meine Version zu veröffentlichen die aber gleich dazu gesagt nicht den gewünschten Erfolg bringt.

Mag jemand mir die entsprechende Berichtigung in die entsprechende Zeile oder als Ergänzung schreiben?

Ich bedanke mich schon jetzt für eure Hilfe.

Sub BedingteKopieZeilen()
Dim Zeile As Long
Dim ZeileMax As Long
Dim i As Long

With Tabelle1 ' End With

Worksheets("Tabelle2").Range("A1:z250").ClearContents ' LÖSCHEN geht vermutlich nicht so???????

Worksheets("Tabelle1").Range("a1:a25").Copy Destination:=Worksheets("Tabelle2").Range("A1")
Worksheets("Tabelle1").Range("b1:b25").Copy Destination:=Worksheets("Tabelle2").Range("b1")
Worksheets("Tabelle1").Range("c1:c25").Copy Destination:=Worksheets("Tabelle2").Range("c1")
Worksheets("Tabelle1").Range("d1:d25").Copy Destination:=Worksheets("Tabelle2").Range("d1")
Worksheets("Tabelle1").Range("e1:e25").Copy Destination:=Worksheets("Tabelle2").Range("e1")
Worksheets("Tabelle1").Range("f1:f25").Copy Destination:=Worksheets("Tabelle2").Range("f1")
Worksheets("Tabelle1").Range("g1:g25").Copy Destination:=Worksheets("Tabelle2").Range("g1")
Worksheets("Tabelle1").Range("h1:h25").Copy Destination:=Worksheets("Tabelle2").Range("h1")
Worksheets("Tabelle1").Range("i1:i25").Copy Destination:=Worksheets("Tabelle2").Range("i1")
Worksheets("Tabelle1").Range("j1:j25").Copy Destination:=Worksheets("Tabelle2").Range("j1")
Worksheets("Tabelle1").Range("k1:k25").Copy Destination:=Worksheets("Tabelle2").Range("k1")
Worksheets("Tabelle1").Range("l1:l25").Copy Destination:=Worksheets("Tabelle2").Range("l1")
Worksheets("Tabelle1").Range("m1:m25").Copy Destination:=Worksheets("Tabelle2").Range("m1")

ZeileMax = .UsedRange.Rows.Count
n = 1

For Zeile = 2 To ZeileMax

If .Cells(Zeile, 8).Value >= 1 And .Cells(Zeile, 8).Value <= 20 Then

' DIE Auswahl der Nummern in der Tabelle1 Spalte H wird nicht berücksichtigt!!!!!

.Rows(Zeile).Copy Destination:=Tabelle2.Rows(n)
n = n + 1

End If
Next Zeile
End With
End Sub
Antworten Top
#2
Hallöchen,

mal zwei, drei oder ein paar mehr Dinge.

Du verwendest With. With Tabelle1 könnte sich aber anders verhalten als With Worksheets("Tabelle1"), weil das zwei verschiedene Tabellen sein könnten.
Wenn letzteres gemeint ist, kannst Du das so programmieren und beim kopieren in der Angabe des Quellblattes weglassen.

Die Sache mit dem Löschen kannst Du einfach ausprobieren. Vieles, was wir wissen, haben wir auch so gelernt Smile

Das folgende Kopieren geht auch über den kompletten Bereich. Also die Quelle mit A1:M25 programmieren und beim Ziel reicht A1.

In der folgenden Schleife kopierst Du unter bestimmten Bedingungen jeweils eine komplette Zeile. Du fängst in Zeile 2 an, es betrifft also zum Teil auch den Bereich, den Du bereits bis zur Spalte M befüllt hast. Allerdings trägst Du die Daten dann auch min. eine Zeile versetzt ein. Wenn in Zeile2 die Bedingung erfüllt ist, kommt sie in Tabelle2 auf Zeile 1 usw. Wenn die Bedingung dann nicht nochmal erfüllt ist, hättest Du in Tabelle2 zumindest bis Spalte M in Zeile1 und 2 die gleichen Daten. Eventuell steht jedoch in Zeile 1 noch was irgendwo rechts neben M Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


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