Anzeige
Archiv - Navigation
244to248
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
244to248
244to248
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Herbers CD / Änderung

Herbers CD / Änderung
21.04.2003 10:57:13
Erich
Hallo EXCEL-Freunde,

auf Herbers CD habe ich folgendes Makro entdeckt:

Text-Index: 114100
Thema: Allgemein
Subject: Datum suchen und Adresse der Fundzelle ausgeben
Problem: Wie kann ich in Spalte A ein Datum suchen und die Adresse der Fundzelle in einer MsgBox ausgeben lassen?
Lösung: Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.

StandardModule: basMain

Sub SuchDatum()
Dim rng As Range
Dim dat As Date
Dim var As Variant
dat = DateSerial(2000, 5, 5)
var = Application.Match(CDbl(dat), Columns(1), 0)
If IsError(var) Then
Beep
MsgBox prompt:="Datum wurde nicht gefunden!"
Else
MsgBox prompt:="Fundzeile: " & var
End If
End Sub

Wie kann ich das so abändern, dass
a) wenn das Datum vorhanden ist der Cursor in diese Zelle springt

b) wenn das Datum nicht vorhanden ist, der Cursor in die Zelle springt, die dem aktuellen (Tages-)Datum am nächsten kommt?

Vielen Dank!

mfg
Erich

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Herbers CD / Änderung
21.04.2003 11:21:16
ChrisL

Hallo Erich

Problem a) kannst du einfach lösen, in dem du...
MsgBox prompt:="Fundzeile: " & var
durch
Cells(var, 1).Select
..ersetzt.

Zu Problem zwei habe ich dir etwas gebastelt. Könnte man sicher noch besser machen. Es funktioniert bis +/- 30 Tage. Ansonsten kommt die Fehlermeldung.

Option Explicit

Private Sub CommandButton1_Click()
Dim rng As Range
Dim dat As Date, dat2 As Date, dat3 As Date
Dim var As Variant
Dim i As Byte
On Error GoTo errorhandler

dat = InputBox("Bitte Datum eingeben: ", "Datum?", Date)

var = Application.Match(CDbl(dat), Columns(1), 0)
If IsError(var) Then

For i = 1 To 30
dat2 = dat + i
var = Application.Match(CDbl(dat2), Columns(1), 0)
If IsError(var) = False Then Exit For

dat3 = dat - i
var = Application.Match(CDbl(dat3), Columns(1), 0)
If IsError(var) = False Then Exit For
Next i

If IsError(var) = False Then
Cells(var, 1).Select
Else
Beep
MsgBox prompt:="Datum wurde nicht gefunden!"
End If
Else
Cells(var, 1).Select
End If

errorhandler:
End Sub

Gruss
Chris

Anzeige
Re: Herbers CD / Änderung
21.04.2003 11:35:41
Erich

Hallo Chris,

perfekt; genau das was ich gesucht habe; die Differenz mit 30 Tagen ist vollkommend ausreichend!

Besten Dank für die schnelle Lösung!

mfg
Erich

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige