Clever-Excel-Forum

Normale Version: Tabellenblatt mit Wert finden, Tabellenblattnummer ausgeben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Ich werde den Code morgen einbauen und gebe dann eine Rückmeldung.
Vielen Dank erstmal.
Hallo,

warum braucht man für jeden Monat ein eigenes Blatt???? Excel hat soviel Zellen, dass man da etliche Jahre unterbringen könnte. Macht die Auswertung deutlich einfacher. Excel-Tabellen sind nicht an DIN A4 Blätter gebunden, das kann man beim Drucken formatieren.
@atilla
@Helmut

Danke für Eure HIlfe,

das war genau der richtige Tipp.

Jetzt ist aber ein weiteres Problem aufgetaucht.

Ich suche ja nach einem Datumsbereich der durch Datum1 und Datum2 begrenzt ist .
Die Tabellenblätter in denen gesucht wird, enthalten aber ggfs. das datum1 und das datum2 nicht, weil an dem jeweiligen Tag
kein Eintrag stattgefunden hat.

Ich benötige als noch eine Schleife die das datum1 erhöht bzw. das datum2 verringert bis datum1 bzw. datum2 gefunden werden.
@Boskobiati

Ich würde das so mache wie sie vorschlagen, habe aber auf die Datenbasis leider keinen Einfluss.
Das ist vor allem dann problematisch, wenn ich monatsübergreifend suche muss.
An der Lösung arbeite ich auch noch.
Hallo,


dann würde ich die Daten einfach in eine Tabelle schaufeln, das geht mit VBA relativ einfach. Wie Du selbst feststellen kannst, fangen die Probleme spätestens dann an, wenn Monatsübergreifend gesucht wird!
Hallo tmessers,

natürlich hat der Opa recht, gleichartige Daten gehören in eine und nur eine Tabelle.

Zu deiner Frage:
Es gibt in den Programmiersprachen keine Konstrukte die ein "bzw" abbilden können. Hier solltest du die Vorgabe genauer schreiben.
Dann ersetze ich "bzw" durch "oder" Sleepy
Hallo tmessers,

aus meiner Sicht macht auch ein  oder hier keinen Sinn, dann könnte ich ja aussuchen welche der beiden Alternativen ich Programmiere.

Ich hab mal Etzels code so angepasst (ungetestet), dass ich das Anfangsdatum erhöhe und das Enddatum reduziere wenn ich dieses nicht gefunden habe.

Ich habe um die "FOR I .."-Schleife eine While-Schleife gesetzt. Nach jeder "FOR I .."-Schleife wird das Datum, für den ich keinen Eintrag gefunden habe angepasst.

Da ich nicht weis, ob du die Variablen Datum1 und Datum2 noch im weiteren code benötigst, habe ich neben den drei logischen Variablen noch Datum3 und Datum4 eingefügt, die ich in der While-Schleife anpasse.


Code:
bolSuchen = True
bolAnfGefunden = False
bolEndGefunden = False
Datum3 = Datum1
Datum4 = Datum2

While bolSuchen
    For i = 2 To Sheets.Count
        irow3 = 0
        irow4 = 0
        Sheets(i).Select
        For Each zelle3 In Range(Cells(8, 1), Cells(Rows.Count, 1).End(xlUp))
            If Cells(zelle3.Row, 1) = Datum3 Then
                irow3 = zelle3.Row
                bolAnfGefunden = True
            End If
        Next zelle3
        For Each zelle4 In Range(Cells(8, 9), Cells(Rows.Count, 1).End(xlUp))
            If Cells(zelle4.Row, 1) = Datum4 Then
                irow4 = zelle4.Row
                bolEndGefunden = True
            End If
        Next zelle4
        If irow3 * irow4 > 0 Then
            bolSuchen = False
            Range(Cells(irow3, 1), Cells(irow4, 9)).Copy
        End If
    Next i
    If bolSuchen Then
        If bolAnfGefunden And bolEndGefunden Then
            Datum3 = Datum3 + 1
            bolAnfGefunden = False
            bolEndGefunden = False
        Else
            If Not bolAnfGefunden Then
                Datum3 = Datum3 + 1
            End If
            If Not bolEndGefunden Then
                Datum4 = Datum4 - 1
            End If
        End If
        If Datum3 > Datum4 Then
            bolSuchen = False
        End If
    End If
Wend
@Helmut

du hast recht. Es kann ja passieren, dass Datum1 und Datum2 nicht gefunden werden.
Ich werde Deinen Code morgen ausprobieren.

Danke schonmal für Deine Unterstützung.
@Helmut

Dein Code funktioniert perfekt.

Vielen Dank!!!!
Seiten: 1 2