Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1784to1788
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

trotz Fehlerwert weiter ...

trotz Fehlerwert weiter ...
15.10.2020 15:36:31
Fred

Hallo Excel,- VBA Experten,
Es sollen Zeilen im Blatt "Aktuell" abgearbeitet werden.
Werte in entsprechenden Zeilen dienen als Kriterium für eine Filterung in Blatt "Referenzen".
Gefilterte Daten sollen nach "Aktuell" in entsprechende Zeilen kopiert werden.
ich habe mir einen Code "gebastelt" der sicherlich nicht optimal geschrieben ist,- aber funktioniert. WENN das Kriterium für den Filter nicht gerade "#WERT!" lautet.
Vieleicht verwirrend,- hier mal der Code:

Sub schleife1()
Dim wksAKT As Worksheet
Dim wksREF As Worksheet
Dim lngLastRow As Long
Dim lngC As Long
Set wksAKT = ActiveSheet
Set wksREF = ActiveWorkbook.Worksheets("Referenzen")
Application.ScreenUpdating = False
With wksAKT
lngLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
For lngC = 10 To lngLastRow
.Cells(lngC, 15).Copy .Cells(4, 5)
.Cells(lngC, 16).Copy .Cells(4, 6)
.Cells(lngC, 20).Copy .Cells(4, 7)
.Cells(lngC, 21).Copy .Cells(4, 8)
Call filter_1
wksREF.Range("S3:AD3").Copy
wksAKT.Cells(lngC, 24).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Next lngC
End With
Application.ScreenUpdating = True
End Sub

der u.a. aufgerufene Code filter_1

On Error Resume Next
Worksheets("Referenzen").ShowAllData
On Error GoTo 0
Worksheets("Referenzen").Activate
'filtert
Set Bereich = Worksheets("Referenzen").UsedRange
Rows(9).AutoFilter Field:=43, Criteria1:=Sheets("Aktuell").Range("E4")
Rows(9).AutoFilter Field:=44, Criteria1:=Sheets("Aktuell").Range("F4")
Rows(9).AutoFilter Field:=48, Criteria1:=Sheets("Aktuell").Range("G4")
Rows(9).AutoFilter Field:=49, Criteria1:=Sheets("Aktuell").Range("H4")
Application.CutCopyMode = False
Worksheets("Aktuell").Activate

Kann mir bitte jemand diesen Code entsprechend ändern, so das dieses Makro trotz nicht ausführender Filterung, weiter läuft?
Gruss
Fred

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: trotz Fehlerwert weiter ...
15.10.2020 15:46:03
Daniel
Hi
gibt da verschiedene Möglichkeiten.
probier mal was passiert, wenn du den Textwert der Zelle einsetzt:
… Criteria1:=Sheets("Aktuell").Range("E4").Text
eine gesteuerte Vorgehensweise bei einem Fehler könntest du mit dieser Abfrage erreichen:
if IsError(Sheets("Aktuell").Range("E4")) = vbError then
… hier das vorgehenn bei Fehler
Else
… her den Autofilter ausführen
end if
wenn die bei einem Fehler dann einfach mit dem nächsten Programmschritt weiter gemacht werden soll, so:
On Error Resume Next
Rows(9).AutoFilter Field:=43, Criteria1:=Sheets("Aktuell").Range("E4")
Rows(9).AutoFilter Field:=44, Criteria1:=Sheets("Aktuell").Range("F4")
Rows(9).AutoFilter Field:=48, Criteria1:=Sheets("Aktuell").Range("G4")
Rows(9).AutoFilter Field:=49, Criteria1:=Sheets("Aktuell").Range("H4")
On Error Goto 0
Gruß Daniel
Anzeige
AW: trotz Fehlerwert weiter ...
15.10.2020 16:02:32
Fred
Hallo Daniel,
mit dem "Textwert" erziele ich das beste Ergebnis,- eigentlich genau, wie ich es haben will.
Danke für die Lösungsansätze!
Gruss
Fred
nachgefragt
15.10.2020 16:04:25
ralf_b
@TE filterst du nur de Zeile 9 oder möchstest du eine ganzen Bereich mit mehren Zeilen filtern?
Ich frag nur weil ich nicht sicher bin ob der Filter für weiter unten überhaupt greift.
AW: nachgefragt
15.10.2020 16:16:19
Fred
Hallo Ralf,
das Problem ist von Daniel gelöst!
Meine eigentliche "ReferenzListe" im Blatt "Referenzen" ist eigentlich über 40.000 Zeilen lang.
Ich habe sie mal entsprechend gekürzt uum sie hoch zu laden. (Dadurch sind die "Egebnisse" allerdings unbrauchbar)
Allerdings sieht man, dass es klappt ...
https://www.herber.de/bbs/user/140894.xlsb
Gruss
Fred
Anzeige
AW: nachgefragt
15.10.2020 16:17:11
Daniel
Hi
das kann man schon so machen.
eine einzige Zeile als Zellbereich für den Filter ist ja offensichtlich sinnlos.
Excel erweitert dann automatisch auf den umliegenden Tabellenbereich, genauso wie wenn du nur eine einzige Zelle angibst.
Gruß Daniel
ok, wieder was gelernt, danke owt
15.10.2020 16:23:03
ralf_b

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige