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

datumsabhängigen anfang finden

datumsabhängigen anfang finden
14.09.2008 08:24:00
Bernd
Guten Morgen,
ich möchte folgendes realisieren.
Auf Blatt 1 habe ich untereinander verschiedene Statistiken.
Die erste von A1-A40, die zweite von A41-A100. also völlig unterschiedlich lang.
Über jeder Statistik ist ein Datum. Über der ersten z.b 01.09.08, über der zweiten 10.09.08.
kann ich nun, wenn ich die Datei öffne, per VBA immer an den Anfang der Statistik gelangen, deren Datum momentan aktuell ist? Und wenn ja wie?
Vielen Dank für eure Hilfe
Gruß Bernd

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: datumsabhängigen anfang finden
14.09.2008 09:13:01
Tino
Hallo,
so müsste es gehen.
Microsoft Excel Objekt DieseArbeitsmappe
Option Explicit 
 
Private Sub Workbook_Open() 
 Call Zelle_Mit_Datum_Heute 
End Sub 
 
Sub Zelle_Mit_Datum_Heute() 
Dim lngRow As Long 
Sheets(1).Select 
  With Application.WorksheetFunction 
   lngRow = .Match(CDbl(Date), Columns("A"), 0) 
  End With 
 Cells(lngRow, "A").Select 
End Sub 
 
 


Gruß Tino

Anzeige
AW: datumsabhängigen anfang finden
14.09.2008 09:59:00
Bernd
Hi Tino,


      
Sub Zelle_Mit_Datum_Heute()
Dim lngRow As Long
Sheets("Tabellen").Select
  
With Application.WorksheetFunction
   lngRow = .Match(
CDbl(Date), Columns("F"), 0)
  
End With
 Cells(lngRow, "F").Select
End Sub 


in der Zeile:


      
lngRow = .Match(
CDbl(Date), Columns("A"), 0) 


bleibt der Code hängen.
Kannst du bitte nochmal schauen.
Danke
Anzeige
AW: datumsabhängigen anfang finden
14.09.2008 10:10:00
Tino
Hallo,
bei mir kommt nur ein Fehler, wenn dieses gesuchte Datum in Spalte F nicht vorhanden ist.
Alternativ könnte man den Fehler so abfangen.
Microsoft Excel Objekt DieseArbeitsmappe
Option Explicit 
Private Sub Workbook_Open() 
 Call Zelle_Mit_Datum_Heute 
End Sub 
 
Sub Zelle_Mit_Datum_Heute() 
Dim lngRow As Long 
Sheets("Tabellen").Select 
  With Application.WorksheetFunction 
   On Error Resume Next 
   lngRow = .Match(CDbl(Date), Columns("F"), 0) 
   If Err.Number <> 0 Then Exit Sub 
   On Error GoTo 0 
  End With 
 Cells(lngRow, "F").Select 
End Sub 


Sollte noch eine Message Box aufgehen wenn dieses Datum nicht vorhanden ist dann so.
Microsoft Excel Objekt DieseArbeitsmappe

Option Explicit 
Private Sub Workbook_Open() 
 Call Zelle_Mit_Datum_Heute 
End Sub 
 
Sub Zelle_Mit_Datum_Heute() 
Dim lngRow As Long 
Sheets("Tabellen").Select 
  With Application.WorksheetFunction 
   On Error Resume Next 
   lngRow = .Match(CDbl(Date), Columns("F"), 0) 
    If Err.Number <> 0 Then 
     MsgBox "Datum: " & Date & " nicht gefunden!", vbCritical 
     Exit Sub 
    End If 
   On Error GoTo 0 
  End With 
 Cells(lngRow, "F").Select 
End Sub 


Gruß Tino

Anzeige
AW: datumsabhängigen anfang finden
14.09.2008 10:49:00
Bernd
jo, jetzt gibt der code die meldung aus, dass der 14.09. (heute) nicht gefunden wurde.
ich habe aber daten die davor bzw danach liegen. wie stelle ich es nun an, dass das nächste datum gefunden wird?
AW: datumsabhängigen anfang finden
14.09.2008 11:15:21
Tino
Hallo,
so müsste es gehen.
Habe aber noch eine Sicherheit eingebaut um keine Endlosschleife zu erzeugen, wird kein Datum gefunden dass zwischen Heute und max +10 Tage liegt, wird die Schleife verlassen und eine Meldung ausgegeben.
Soll dieser Wert größer oder kleiner sein, kannst Du dies in der Zeile anpassen.

Loop Until lngRow > 0 And i 


Option Explicit
Private Sub Workbook_Open()
 Call Zelle_Mit_Datum_Heute
End Sub
 
Sub Zelle_Mit_Datum_Heute()
Dim lngRow As Long, i As Long
Dim meDatum As Double
meDatum = Date
Sheets("Tabellen").Select
  With Application.WorksheetFunction
  Do
   On Error Resume Next
    lngRow = .Match(meDatum + i, Columns("F"), 0)
   On Error GoTo 0
    i = i + 1
  Loop Until lngRow > 0 And i < 11
  End With
  
 If lngRow = 0 Then
  MsgBox "Datum: " & Date & " nicht gefunden!", vbCritical
 Else
  Cells(lngRow, "F").Select
 End If
End Sub


Gruß Tino

www.VBA-Excel.de


Anzeige
Danke Tino.
14.09.2008 11:20:39
Bernd
Hallo Tino,
danke Dir für Deine Superhilfe.
Einen schönen Sonntag noch.
Gruß Bernd
AW: datumsabhängigen anfang finden
14.09.2008 10:48:02
Tino
Hallo,
hier noch eine zweite Möglichkeit mit Find, diese macht bei manschen Formateinstellungen Probleme, dies ist in diesem Forum schon oft diskutiert wurden.
Microsoft Excel Objekt DieseArbeitsmappe
Option Explicit 
Private Sub Workbook_Open() 
 Call Zelle_Mit_Datum_Heute 
End Sub 
 
Sub Zelle_Mit_Datum_Heute() 
Dim rZelle As Range 
Sheets("Tabellen").Select 
 
Set rZelle = Columns("F").Find(Date, , xlFormulas, 2, 1, 1, False, False) 
 
If Not rZelle Is Nothing Then 
 rZelle.Select 
Else 
 MsgBox "Datum: " & Date & " nicht gefunden!", vbCritical 
End If 
 
End Sub 


Gruß Tino

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige