Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1588to1592
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
VBA Filter bei 2 Spalten
13.11.2017 10:30:08
Tobias
hallo zusammen,
ich arbeite an einer Excel Bestellliste. Bisher geht mein Code jeden einzelnen Begriff durch und filter demnach und druckt das Ergebniss aus. Das Problem ist das es A umständlich ist und B doch recht lange dauert, deshalb würde ich gerne Variablen definieren und diese in eine Schleife einbinden.
im Grunde möchte ich das er erst in der Spalte E nach meinem Lieferanten filtert (Variabler Lieferant) und danach in Spalte B alle leeren und Daten größer als 0 ausblendet.
Wenn diese Filterung keine Ergebniss bringt soll er zum nächsten Lieferant usw.
Wenn diese Filterung etwas zurück gibt soll er eine Inputbox zeigen mit eingabe der Bestellnummer für den Liereanten und ein Ausdruck erstellen und eine Kopie als Pdf ablegen.
Hoffe es ist soweit verständlich.
Mein aktueller (und sehr umständlicher) VBA Code ist wie folgt:
[CODE] Sub Ausdrucken()
If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
.EnableEvents = False
End With
Range("E22:E543").AutoFilter Field:=5, Criteria1:="Lieferant1"
Range("B22:B543").AutoFilter Field:=2, Criteria1:=">0" ~f~
~f~ If Application.WorksheetFunction.Subtotal(103, Range("B23:B2592")) > 0 Then ~f~
Range("E22:E543").AutoFilter Field:=5, Criteria1:="Lieferant1"
~f~ Range("B22:B543").AutoFilter Field:=2, Criteria1:=">0"~f~
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
.EnableEvents = True
End With
Dim sTxt As String
sTxt = InputBox("geben Sie Ihre Bestellnummer für Bestellung Lieferant1 ein", "Bestellnunner")
If sTxt = "" Then Exit Sub
Range("H20").Value = sTxt
ActiveSheet.Columns("E:E").Hidden = True
ActiveSheet.PrintOut
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"\\NASBOX5G2\Gemeinsame Dateien\Bestellungen\" & Cells(20, 8).Value, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
End If
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
.EnableEvents = False
End With
Range("E22:E543").AutoFilter Field:=5, Criteria1:="Lieferant2"
~f~ Range("B22:B543").AutoFilter Field:=2, Criteria1:=">0" ~f~
~f~ If Application.WorksheetFunction.Subtotal(103, Range("B23:B2592")) > 0 Then ~f~
Range("E22:E543").AutoFilter Field:=5, Criteria1:="Lieferant2"
~f~ Range("B22:B543").AutoFilter Field:=2, Criteria1:=">0"
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
.EnableEvents = True
sTxt = InputBox("geben Sie Ihre Bestellnummer für Bestellung Lieferant1 ein", "Bestellnunner")
If sTxt = "" Then Exit Sub
Range("H20").Value = sTxt
ActiveSheet.Columns("E:E").Hidden = True
ActiveSheet.PrintOut
End With
End If [CODE]
usw. bis zum letzten Lieferant
Meine VBA Kentnisse sind sehr beschränkt ich hoffe trotzdem das Ihr mir hier weiterhelfen könnt

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Filter bei 2 Spalten
13.11.2017 12:48:13
Tobias
Hallo
wurde gerade auf Crossposting hingewiesen deshalb hier kurz die Info das ich den gleichen Thread in einem anderen Forum gepostet habe
http://www.ms-office-forum.net/forum/showthread.php?t=347312

Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige