Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

If Abfrage

Forumthread: If Abfrage

If Abfrage
21.10.2005 21:24:10
Gregor
Hallo zusammen
In vier verschiedenen (nicht anreihenden) Spalten sind Jahrzahlen von 2005 bis 2020 eingetragen. Mittels UserForm bestimmt der User den Auswahlbereich (Zeitraum zB. von 2006 bis 2011). Diese übergebe ich den Variablen Jahr1 und Jahr2.
Jahr1 hat in diesem Beispiel also den Wert 2006, Jahr2 den Wert 2011.
Wie kann ich nun feststellen, ob die gesuchten Jahre im definierten Bereich vorkommen?
Ich habe folgenden Ansatz, komme aber nicht zum gewünschten Ergebnis (Freitagabend!!). Kann mir jemand weiterhelfen?
Zähler = 0
For Each objZeile In Worksheets("Master Datei").Rows
Set Bereich = Union(Worksheets("Master Datei"). _
Range(Cells(Zeile, 40), Cells(Zeile + Zähler, 40)), _
Range(Cells(Zeile, 42), Cells(Zeile + Zähler, 42)), _
Range(Cells(Zeile, 44), Cells(Zeile + Zähler, 44)), _
Range(Cells(Zeile, 47), Cells(Zeile + Zähler, 47)))
JahrMin = Application.WorksheetFunction.Min(Bereich)
JahrMax = Application.WorksheetFunction.Max(Bereich)
If JahrMin 0 And JahrMax 0 Then
If Jahr1 >= JahrMin And Jahr1 = JahrMin And Jahr2 End If
End If
usw.
Gesucht ist also ob die definierten Jahre 2006 bis 2011 im definierten Bereich vorhanden sind. Sollte doch mit einer plausiblen If-Abfrage möglich sein.
Vielen Dank und Gruss
Gregor
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: If Abfrage
21.10.2005 22:16:05
Franz
Hallo Gregor,
sieht so aus, als ob Du bei der Deklarion der Bereich nicht ganz korrekt gearbeitet hast. Mit nachfolgenden Anpassungen werden die Jahreszahlen aus den Bereichen korrekt ausgelesen und Max. und Min.-Wert werden ermittelt.

Sub Test()
Dim wks As Worksheet, Bereich As Range, ojbZeile As Range, Zeile As Integer
Zeile = 1
Zähler = 0
Set wks = ThisWorkbook.Worksheets("MasterDatei")
With wks
For Each objZeile In .UsedRange.Rows
Set Bereich = Union(.Range(Cells(Zeile, 40), Cells(Zeile + Zähler, 40)), _
.Range(Cells(Zeile, 42), Cells(Zeile + Zähler, 42)), _
.Range(Cells(Zeile, 44), Cells(Zeile + Zähler, 44)), _
.Range(Cells(Zeile, 47), Cells(Zeile + Zähler, 47)))
JahrMin = Application.WorksheetFunction.Min(Bereich)
JahrMax = Application.WorksheetFunction.Max(Bereich)
If JahrMin <> 0 And JahrMax <> 0 Then
If Jahr1 >= JahrMin And Jahr1 <= JahrMax And Jahr2 >= JahrMin And Jahr2 <= JahrMax Then
End If
End If
Zeile = Zeile + 1
Next
End With
End Sub
Gruß
Franz
Anzeige
AW: If Abfrage
22.10.2005 01:02:16
Gregor
Hallo Franz
Vielen Dank für deinen Vorschlag. Ich habe ihn getestet, führt aber auch nicht zum gewünschten Ergebnis.
Nochmals zur Aufgabenstellung:
In einem mit einer Schlaufe wechselnden Bereich (nicht aneinanderreihende Spalten) soll abgecheckt werden, ob in diesem Bereich die ausgewählten Jahre (von Jahr1 bis Jahr2) vorkommen. Wenn ja, sollen diese Zeilen kopiert werden.
Nicht klar werde ich mit der Abfrage der Jahre. Wie kann ich das lösen?
Danke und Gruss
Gregor
Anzeige
AW: If Abfrage
22.10.2005 01:54:13
Aton
Hallo
Keine Befehle in den If Then Abfragen
Da kann wohl kaum was gehn.
Kleine Beispieldatei sagt mehr als 1000 worte.
Gruß Aton
AW: If Abfrage
22.10.2005 10:52:37
Peter
Servus,
bsp.
Sub t()
Dim intAnf As Integer, intEnd As Integer
Dim myrng As Range, rng As Range
intAnf = 2006
intEnd = 2011
Set myrng = Range("A1:A10")
intZähler = 1
For Each rng In Sheets("Tabelle1").Range(myrng.Address)
If rng >= intAnf And rng <= intEnd Then
rng.Offset(0, 1) = rng.Row
End If
Next
End Sub

MfG Peter
Anzeige
AW: If Abfrage
22.10.2005 19:36:08
Gregor
Hallo Peter
Ich habe soeben deinen Vorschlag getestet, damit komme ich zum gewünschten Ergebnis.
Vielen herzlichen Dank.
Gruss Gregor
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige