Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

AutoOpen
#1
Hallo zusammen,

ich habe jetzt schon voiel gesucht aber noch nichts gefunden.

Ich habe zwar das folgende gefunden, benötige aber nicht die Suuche nach heute sondern gestern/Vortag.

Über eine Hilfe von Euch würde ich mich freuen.

Vielen Dank
Jens

Code:
Private Sub Workbook_Open()
Dim i As Integer
Sheets("Tabelle1").Activate
For i = 1 To ActiveSheet.UsedRange.Rows.Count
If Cells(i, 1).Value >= Date Then
Cells(i, 1).Select: Exit Sub
End If
Next i
End Sub
Top
#2
Hallo Jens,

Code:
Private Sub Workbook_Open()
Dim i As Integer
Sheets("Tabelle1").Activate
For i = 1 To ActiveSheet.UsedRange.Rows.Count
If Cells(i, 1).Value = Date - 1 Then
Cells(i, 1).Select: Exit Sub
End If
Next i
End Sub
Überlegen macht überlegen
Gruss aus dem schönen Hunsrück
_______ Klaus-Martin _______
Top
#3
Hallo Kl@us-M.,

das funzzt super.
Ich habe da mal denn noch eine Frage, ob da die ganze Tabelle durchsucht wird oder nur die erte Spalte.

Dennn ich habe in einer zweiten Tabelle das Datung in der zweiten Zeile und dazu auch noch wagerecht. nur leider da findtd es das Datum nicht.

Für eine Antwort währe ich sehr Dankbar.

Viele Grüße in die weite Welt des WWW.
Jens
Top
#4
Hallo Jens,

ich bin nicht der Kl@us-M. erlaube mir aber dennoch Dir zu antworten:

Bei deinem Makro wird in der ersten Spalte gesucht. Das sieht man hier dran:

Cells(i, 1)

Wenn ich ich dich richtig verstehe brauchst Du da für deine Tabelle nur in:

Cells(2,i)

abzuändern.

Gruß
Marcus

Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Top
#5
Hi Jens,

hab Dir mal die Codes für beide "Suchoptionen" mit Kommentaren versehen, damit Du siehst, wo was im Code passiert:

Code:
Option Explicit

Sub Finde_gestern_in_Spalte_A()
Dim i As Integer 'Variablendeklaration
Sheets("Tabelle1").Activate 'aktiviert das Tabellenblatt mit dem Namen "Tabelle1"
For i = 1 To ActiveSheet.UsedRange.Rows.Count 'durchläuft die Zeilen des verwendeten Bereichs
If Cells(i, 1).Value = Date - 1 Then 'sucht das gestrige Datum in der ersten Spalte
Cells(i, 1).Select 'markiert die Zelle mit dem gestrigen Datum
End If 'beendet den Suchlauf, wenn das gestrige Datum gefunden wurde
Next i 'sucht weiter, wenn das gestrige Datum nicht gefunden wurde
End Sub 'beendet das Makro



Sub Finde_gestern_in_Zeile_2()
Dim j As Integer 'Variablendeklaration
Sheets("Tabelle2").Activate 'aktiviert das Tabellenblatt mit dem Namen "Tabelle2"
For j = 1 To ActiveSheet.UsedRange.Columns.Count 'durchläuft die Spalten des verwendeten Bereichs
If Cells(2, j).Value = Date - 1 Then 'sucht das gestrige Datum in der zweiten Zeile
Cells(2, j).Select 'markiert die Zelle mit dem gestrigen Datum
End If 'beendet den Suchlauf, wenn das gestrige Datum gefunden wurde
Next j 'sucht weiter, wenn das gestrige Datum nicht gefunden wurde
End Sub 'beendet das Makro

@ Marcus:
Ein einfaches Ändern der Zelladresse reicht hier nicht, da die Schleife im zweiten Fall über die Spalten und nicht über die Zeilen laufen muss ...

For j = 1 To ActiveSheet.UsedRange.Columns.Count
If Cells(2, j).Value = Date - 1
Überlegen macht überlegen
Gruss aus dem schönen Hunsrück
_______ Klaus-Martin _______
Top
#6
Hallo Klaus,

sorry, darauf hatte ich nicht geachtet. Recht hast Du.

Gruß
Marcus

Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Top
#7
Hallo zusammen,,
leider funnzt die Datumsuchen nicht in der Zeile 2.

Spalten A-E enthält normalen TXT und in den Spalten F-AJ ist das Datum hinterlegt. Das ganze steht in Zeile 2.

Wäre nett, wenn da nochmal einer drüberschauen könnte.

Vielen Dank für die Bemühungen.

VG
Jens
Top
#8
Hallo Jens,

was funzt denn nicht? Wird kein Datum gefunden, was sagt Excel dazu - kommt ein Fehler?
Ich könnte mir vorstellen, wenn neben dem Datum noch eine Zeit steht, klappt es nicht.
Ebenso dürfte es nicht klappen, wenn das Datum als Text in den Zelle steht.
Das kannst Du mit ein paar Formeln testen.
Das "Datum" in A2 ist z.B. als Text in der Zelle, daher liefert ISTZAHL falsch.
Beim Datum in A3 ist eine Zeit dabei - die ist wie hier zuweilen nicht zu sehen - daher kommt als Ergebnis auch falsch.

Arbeitsblatt mit dem Namen 'Tabelle1'
 AB
113.10.2014WAHR
212.10.2014FALSCH
313.10.2014FALSCH

ZelleFormel
A1=HEUTE()-1
B1=ISTZAHL(A1)
B2=ISTZAHL(A2)
A3=HEUTE()-0,93
B3=A3=HEUTE()-1
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#9
Hallo zusammen,

das Datum ist in Zelle F2 mit 01.10.2014 als Datum im Format TT.MM.JJJJ. Die Zellen G2 =F2+1, F2=G2+1 ... u.s.w. gefüllt. Wenn ich das in einer anderen Tagelle mache und das Datum in der Spalte A sekrecht ist läuft es mit folgendem Code:

Code:
Private Sub Workbook_Open()
Dim i As Integer
Sheets("Tabelle1").Activate
For i = 1 To ActiveSheet.UsedRange.Rows.Count
If Cells(i, 1).Value = Date - 1 Then
Cells(i, 1).Select: Exit Sub
End If
Next i
End Sub

Ich bedanke mich schon jetzt mal für die Hilfe.

Gruß
Jens
Top
#10
Hallo Jens,

hast Du denn auch das zweite Makro von hier
http://www.clever-excel-forum.de/Thread-...07#pid7407
probiert (Sub Finde_gestern_in_Zeile_2())? In dem codefenster musst Du dazu nach unten scrollen, sonst hast Du nur das erste.
Bei mir funktioniert das, wie gesagt. Was nicht funktioniert, hast Du noch nicht geschrieben, siehe meine Frage hier: http://www.clever-excel-forum.de/Thread-...27#pid7727
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste