Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
744to748
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
744to748
744to748
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Alter per VBA ausrechnen

Alter per VBA ausrechnen
23.03.2006 10:14:51
Caro
Guten morgen,
also vorerst zu meinen VBA-Kenntnissen: ich bin grade dabei mir VBA anzueignen.
Ich bin jetzt auf folgendes Problem gestoßen.
In der Spalte I stehen bei mir Geburtsdaten im Format DD.MM.YYYY (über Zellen formatieren formatiert) vorher stehen noch einige Personenbezogene Daten, wie Name Vorname etc...
jetzt habe ich eine combo-box, aus der ich Vorname und Name auswählen kann. Ich möchte jetzt wenn ich auf den commandbutton klicke, das alter der Person in Jahren erfahren. Die Schleife, um die richtige Zelle zu finden ist bereist programmiert:
Dim i as Integer
Dim d as Date
i = 2
Do Until (Cells(i, 1).Value = cboName.Value And Cells(i, 2).Value = cboVname.Value) Or Cells(i, 1) = ""
i = i + 1
Loop
Weiterhin ist bereits die if-bedingung programmiert:
If Cells(i, 1).Value = cboName.Value And Cells(i, 2).Value = cboVname Then
soweit so gut,
jetzt fehlt mir leider der Ansatz, wie ich die Anweisung um das Alter auszurechnen programmiere....
LG
Caro

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

Betreff
Datum
Anwender
Anzeige
AW: Alter per VBA ausrechnen
23.03.2006 14:50:41
marcl
Hallo Caro,
wennin Zelle A1 das Geburtsdatum steht und in B1 das Alter soll, dann B1 als Zahl ohne Kommastellen setzen und in VBA
Range("B1") = (Date - Range("A1")) / 365
Gruß
marcl
AW: Alter per VBA ausrechnen
23.03.2006 15:03:56
Caro
tut mir leid, das funktioniert leider weder so, noch mit ein paar änderungen. demnach wäre ich nämlich 106jahre alt... ;)
ich muss das auch mit der schleife machen, denn ich habe eine relativ lange tabelle und die auswahl von der person, von der das alter über eine msgbox angegeben werden soll, wird über eine combobox getroffen, s.o.
AW: Alter per VBA ausrechnen
23.03.2006 17:25:51
Peter
Hallo Caro,
etwas kürzer und in Spalte I (ab Zeile 2), das Ergebnis in Saplte J
Public

Sub Alter_I()
Dim lZeile As Long
For lZeile = 2 To Range("I65536").End(xlUp).Row
If IsDate(Range("I" & lZeile).Value) Then
If (Month(Date) < Month(Range("I" & lZeile).Value)) Or _
(Month(Date) = Month(Range("I" & lZeile).Value) And _
Day(Range("I" & lZeile).Value) > Day(Date)) Then
Range("J" & lZeile).Value = (Year(Date) - _
Year(Range("I" & lZeile).Value)) - 1
Else
Range("J" & lZeile).Value = Year(Date) - _
Year(Range("I" & lZeile).Value)
End If
End If
Next lZeile
End Sub

Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: Alter per VBA ausrechnen
23.03.2006 16:29:40
Peter
Hallo Caro,
das beigefügte Makro tut's, aber die Geburtsdaten stehen in Spalte A ab Zeile 2 - das musst du anpassen. Das Alter wird nach B eingetragen.
Public

Sub Alter()
Dim lZeile As Long
For lZeile = 2 To Range("A65536").End(xlUp).Row
If IsDate(Range("A" & lZeile).Value) Then
If Month(Date) < Month(Range("A" & lZeile).Value) Then
Range("B" & lZeile).Value = (Year(Date) - _
Year(Range("A" & lZeile).Value)) - 1
ElseIf Month(Date) = Month(Range("A" & lZeile).Value) And _
Day(Range("A" & lZeile).Value) > Day(Date) Then
Range("B" & lZeile).Value = (Year(Date) - _
Year(Range("A" & lZeile).Value)) - 1
Else
Range("B" & lZeile).Value = Year(Date) - _
Year(Range("A" & lZeile).Value)
End If
End If
Next lZeile
End Sub

Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: Alter per VBA ausrechnen
24.03.2006 08:04:11
Caro
Guten morgen Peter,
danke schön, mit einigen kleinen Anpassungen passt das direkt auf mein kleines Script.
LG
caro

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige