Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1876to1880
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

Sub mit Argumenten aufrufen

Sub mit Argumenten aufrufen
05.04.2022 14:02:44
Marc
Hi,
ich habe eine große Excel-Liste und möchte nur die Inhalte gemäß einer Parameterabfrage bei Start des Makros behalten.
Bisher habe ich ein Modul und hier eine SUB die eben diese Liste prüft und alle relevanten Zeilen löscht:

Sub Makro1()
Dim sht As Worksheet
Dim LastRow As Long, Zeile As Long
Set sht = Sheets("Tabelle1")
LastRow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row
For Zeile = LastRow To 2 Step -1
If InStr(sht.Cells(Zeile, 5).Value, "03.2022") = 0 Then
sht.Rows(Zeile).Delete Shift:=xlUp
End If
Next Zeile
End Sub
Nun möchte ich das Datum - in meinem Fall "03.2022" - per Argument beim Aufruf des Makros übergeben, sodass ich die Sub auch für beliebige andere Monate nutzen kann. Wenn ich allerdings aus Sub Makro1 z.B. Sub Makro1(datum As String) mache wird mir überhaupt kein Makro mehr angezeigt, dass ich starten könnte.
Was mache ich falsch? Danke vorab.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sub mit Argumenten aufrufen
05.04.2022 14:08:11
Rudi
Hallo,
z.B.

Sub Makro1(Datum As Date)
Dim sht As Worksheet
Dim LastRow As Long, Zeile As Long
Set sht = Sheets("Tabelle1")
LastRow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row
For Zeile = LastRow To 2 Step -1
If InStr(sht.Cells(Zeile, 5).Value, Format(Datum, "MM.YYYY")) = 0 Then
sht.Rows(Zeile).Delete Shift:=xlUp
End If
Next Zeile
End Sub
Sub StartMakro1()
Dim Datum As Date
Datum = InputBox("Datum?")
Call Makro1(Datum)
End Sub
Gruß
Rudi
AW: Sub mit Argumenten aufrufen
05.04.2022 14:19:46
Marc
Passt - danke!
AW: Sub mit Argumenten aufrufen
05.04.2022 14:08:36
onur

Sub Makro1(datum as string)
Dim sht As Worksheet
Dim LastRow As Long, Zeile As Long
Set sht = Sheets("Tabelle1")
LastRow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row
For Zeile = LastRow To 2 Step -1
If InStr(sht.Cells(Zeile, 5).Value, datum) = 0 Then
sht.Rows(Zeile).Delete Shift:=xlUp
End If
Next Zeile
End Sub

Anzeige
das löst für ihn aber...
05.04.2022 14:17:34
Rudi
...nicht dieses Problem:

wird mir überhaupt kein Makro mehr angezeigt, dass ich starten könnte.
Gruß
Rudi
AW: das löst für ihn aber...
05.04.2022 14:20:31
onur
Mehr kriegt er niocht ohne eine Datei, denn alles Andere wäre Rumraterei: "Was steht wirklich in der Zelle", "Was steht in Spalte 5" usw...

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige