Das Archiv des Excel-Forums
Suchen und makieren von Zeilen!
Betrifft: Suchen und makieren von Zeilen!
von: Markus F.
Geschrieben am: 26.09.2003 16:02:27
Hallo Leute,
ich habe da mal ein Problem. Also ich habe eine Tabelle in dieser in der Z Spalte verschiedene Datumswerte stehen z.B. (12.02.2003 17:55:22 13.03.2003 12:30:33 usw.) ich habe dann in der Zelle A1 und A2, zwei Datumswerte stehen nach denen ich suchen möchte und zwar soll nach dem Wert von A1 gesucht werden, dann soll in der Spalte Z nach unten gesucht werden bis die Zelle gefunden wird die mit dem Wert von A2 übereinstimmt. Es sollen alle Zeilen zwischen dem ersten Wert A1 und dem zweiten Wert A2 makiert werden, die möchte ich dann kopieren.
ich hoffe ihr könnt mir weiterhelfen
danke schon mal
gruß markus
Betrifft: AW: Suchen und makieren von Zeilen!
von: Matthias G
Geschrieben am: 26.09.2003 20:32:55
Hallo Markus,
folgender Code:
Sub Suche_und_Markiere()
Dim z, zlast As Long
Dim z1, z2 As Long
Dim found1, found2 As Boolean
Dim Meldung As String
If Range("A1").Value > Range("A2").Value Then
MsgBox "Startwert ist größer als Endwert!", vbCritical, "Fehler"
Exit Sub
End If
found1 = False
found2 = False
zlast = Range("z:z").SpecialCells(xlCellTypeLastCell).Row
For z = 1 To zlast
If Cells(z, 26).Value = Range("A1").Value Then
found1 = True
z1 = z
Exit For
End If
Next z
If found1 = False Then z1 = 1
For z = z1 To zlast
If Cells(z, 26).Value = Range("A2").Value Then
found2 = True
z2 = z
Exit For
End If
Next z
If found1 = False Then Meldung = "Wert in A1 nicht gefunden!" + Chr(10)
If found2 = False Then Meldung = Meldung + "Wert in A2 nicht gefunden!" + Chr(10)
If found1 And found2 Then
Range(Cells(z1, 26), Cells(z2, 26)).Select
Else
MsgBox Meldung, vbCritical, "Fehler"
End If
End Sub
Du kannst die Fehler natürlich auch anders behandeln, z.B. wenn 1.Wert nicht gefunden wird, von Anfang an markieren bzw. wenn 2. Wert nicht gefunden wird, bis zum Ende markieren.
Viel Spaß damit,
Matthias
Betrifft: hier eine passende Beispieldatei , ....
von: udo
Geschrieben am: 26.09.2003 22:22:00
Viel Spass damit , ....
https://www.herber.de/bbs/user/1180.xls
( rechtsklick auf den Link, und Ziel speichern unter ... )
Gruß udo
PS das Forum lebt auch von Rückmeldungen
Betrifft: Bräuchte noch eine kleine Hilfe!!
von: markus
Geschrieben am: 28.09.2003 15:03:28
Hallo erst mal,
und Matthias und Udo vielen Dank. So Matthias ich habe deinen Code eingefügt,funktioniert prima vielen Dank. Eine Sache hätte ich aber noch momentan makiere ich alle gefundenen Werte in der Spalte "Z" wenn ich jetzt aber auch noch die Spalte welche daneben liegt makieren möchte was muß ich denn da noch einfügen. Es ist so das in der Spalte daneben noch Daten stehen welche zu dem Datum gehören und die ich auch mit kopieren möchte. Wie kann ich die Codezeile Range(Cells(z1, 26), Cells(z2, 26)).Select auf eine oder mehrer Spalten ausweiden. Kann mir vieleicht auch einer erklären was die 26 in der Klammer bedeutet?
Danke schon mal
gruß Markus
Betrifft: AW: Bräuchte noch eine kleine Hilfe!!
von: Matthias G
Geschrieben am: 28.09.2003 21:59:12
Hallo Markus,
folgender Code:
If found1 And found2 Then
Range(Cells(z1, 26), Cells(z2, 26)).Select
Else
bedeutet, dass Zeile z1/Spalte 26(=Spalte Z, 26. Buchstabe) bis Zeile z2/Spalte 26 markiert werden.
Wenn du das ausweiTen willst, gib als 2. Eckpunkt z.B. Spalte 27 (AA) an, also:
If found1 And found2 Then
Range(Cells(z1, 26), Cells(z2, 27)).Select
Else
Viel Erfolg!
Matthias
Betrifft: Vielen Dank
von: Markus
Geschrieben am: 29.09.2003 06:44:24
Hallo Leute,
vielen Dank für Eure Hilfe hat echt prima funktioniert und in welch einer Rekord Zeit unglaublich.
Danke bis bestimmt bald wieder mal :-)
Wünsche allen eine schöne Woche es sind ja nur 4 Tage also haltet durch
Gruß Markus
Betrifft: Habe noch ein Problem!!
von: Markus
Geschrieben am: 29.09.2003 09:14:46
Hallo und guten morgen,
ich habe noch mal ein Problem, die Suchroutine von Matthias funktioniert soweit gut. Es gibt nur folgendes Problem. Ich habe eine Datumsbereich von z.B. (Start 24.09.2003 12:20:33 Ende 24.09.2003 15:40:30) dazwischen habe ich verschiedene Datumswerte stehen von denen aber keiner genau den Wert von Start oder Ende hat. Mein erster Wert ist vielleicht z.B. (24.09.2003 12:23:00 und mein Ende Wert evtl. 24.09.2003 15:30:00) ich müsste also alle Datumswerte die zwischen dem Start und Ende wert liegen makieren und nicht direkt nach dem Start bzw. Ende Wert suchen also mehr ein Zeitbereich von bis. Ist das nöglich.
Danke schon mal
Gruß Markus
Betrifft: AW: Habe noch ein Problem!!
von: udo
Geschrieben am: 29.09.2003 18:58:59
Hi Markus,
... das sollte eigentlich in dem Beispiel , welches ich dir auf den Server geladen hab schon gehn, du kannst dazu zum einen den Gültigkeitsbereich der Zellen A1 & A2 nutzen , oder direkt dort einen entsprechenden Wert eintippen, eben den , den du scheinbar suchst oder markiert haben willst . Es werden dann die Bereiche markiert.
Willst du das nur die Werte dazwischen markiert werden, so ändere die Formel in A3 abwärts ( das <= oder >= in nur > oder < ).
also aus
=WENN(UND(Z3>=$A$1;Z3<=$A$2);1;0)
einfach mal
=WENN(UND(Z3>$A$1;Z3<$A$2);1;0)
einsetzen , und nach unten kopieren, ....
Hoffe ich hab dich jetzt nicht völlig falsch verstanden.
Somit werden nur die Bereiche markiert, die zwischen den beiden Werten liegen, ohne das dabei Werte berücksichtigt werden , die genau den Ausgangswerten entsprechen.
Gruß udo
Betrifft: AW: Habe noch ein Problem!!
von: udo
Geschrieben am: 29.09.2003 19:04:44
wenn du willst kannst mir auch mal ein Beispiel schicken, oder besser noch lad es hoch, und erkläre deinen Wunsch / Problem nochmals anhand des Beispiel, dann haben Alle was davon.
udo-d@web.de
Gruß udo
Excel-Beispiele zum Thema " Suchen und makieren von Zeilen!"