Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
348to352
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
348to352
348to352
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeilen durchsuchen, bis auf erste Zeile vba

Zeilen durchsuchen, bis auf erste Zeile vba
09.12.2003 20:33:24
Marc
Hallo,

ich weiß, dass ich das Thema weiter unten schon einmal angesprochen hatte, aber ich bin fast am verzweifeln.
Mit dem unten stehen code will ich aus einer Liste von Geburtsdaten den Ältesten herausfinden. Nun habe ich das Problem, dass in der ersten Zeile Geburtsdatum steht. Diese Zeile wird mit durchsucht und deswegen kommt immer die Meldung 'Typen unverträglich' Ich versuche nun schon die ganze Zeit das irgendwie mit einer If-Schleife in den Griff zu bekommen, aber irgendwie klappt das nicht.

Ich hoffe, dass mir hier jemand weiterhelfen kann.

Schon einmal vielen Dank,

Gruß

Mark


Function Ältester() As String
Dim z As Range
Dim rg As Range
Dim maxdiff As Long
Ältester = ""
maxdiff = 0
Set rg = Range("F2").CurrentRegion
For Each z In rg.Columns("F").Cells
d = z.Value
diff = DateDiff("d", z.Value, Now())
If diff > maxdiff Then
maxdiff = diff
Ältester = z.Address
End If
Next
End Function



Sub test()
Dim Adresse As String
Adresse = Ältester()
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen durchsuchen, bis auf erste Zeile vba
09.12.2003 20:48:56
Nepumuk
Hallo Mark,
mach es so:


Option Explicit
Function Ältester() As String
Dim zeile As Long, maxdiff As Long
For zeile = 2 To Cells(65536, 6).End(xlUp).Row
If DateDiff("d", Cells(zeile, 6).Value, Date) > maxdiff Then
maxdiff = DateDiff("d", Cells(zeile, 6).Value, Date)
Ältester = Cells(zeile, 6).Address
End If
Next
End Function



Code eingefügt mit: Excel Code Jeanie

Gruß
Nepumuk
Anzeige
Vielen Dank
09.12.2003 20:59:40
Marc
Hallo,

Vielen Dank für die Hilfe. So klappt es wunderbar.

Vielen Dank.

Gruß

Marc
Nachfrage
09.12.2003 21:33:13
Marc
Hallo,

ich hätte da noch eine Frage. Ich habe das ganze noch ein wenig umgebastelt. Die Geburtsdaten stehen in Tabelle 1 und die Suche nach dem Ältesten sollen stattfinden, während Tabelle 2 aktiviert ist, da ich den Ältesten später in eine Zelle dieser Tabelle schreiben möchte. un habe ich versucht das wie unten stehen hinzubekommen. Leider gibt er mir als Ergebnis nicht die Zelle mit dem geburtstag des Ältesten, sondern die erste leere Zelle in der Geburtstagsspalte.

Würde mich freuen, wenn man mir dabei noch unter die Arme greifen könnte.

Vielen Dank.

Gruß

Marc


Function Ältester() As String
Dim zeile As Long, maxdiff As Long
Y = 0
For zeile = 2 To Cells(65536, 6).End(xlUp).Row
If DateDiff("d", Sheets("Tabelle1").Cells(zeile, 6).Value, Date) > maxdiff Then
maxdiff = DateDiff("d", Sheets("Tabelle1").Cells(zeile, 6).Value, Date)
Ältester = Sheets("Tabelle1").Cells(zeile, 6).Address
End If
Y = Y + 1
Next
MsgBox Ältester
End Function

Anzeige
AW: Nachfrage
09.12.2003 21:48:13
Nepumuk
Hallo Marc,
dann so:

Option Explicit
Function Ältester() As String
Dim zeile As Long, maxdiff As Long
Y = 0
With Sheets("Tabelle1")
For zeile = 2 To .Cells(65536, 6).End(xlUp).Row
If DateDiff("d", .Cells(zeile, 6).Value, Date) > maxdiff Then
maxdiff = DateDiff("d", .Cells(zeile, 6).Value, Date)
Ältester = .Cells(zeile, 6).Address
End If
Y = Y + 1
Next
End With
MsgBox Ältester
End Function



Code eingefügt mit: Excel Code Jeanie

Gruß
Nepumuk
Anzeige
Vielen Dank!
10.12.2003 13:23:27
Marc
Hallo,

vielen Dank.
Gruß

Marc

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige