Temat: Ktory dzien w roku na podsawie daty VBA
DTPicker to kontrolka z zestawu CC2:
http://vbatools.pl/metody-pracy-z-common-controls-cc2/
A twój problem to po prostu arytmetyka - czyli odejmowanie liczb, bo data to liczba.
Trudnością to wysznaczenie dnia początkowego roku - czyli 1 stycznia + 1 bo pierwszy dzień nie jest zerowym:
Private Sub DTPicker1_Change()
Dim d_year&: d_year = Me.DTPicker1.Year
Dim d_ktorydzen&: d_ktorydzen = DTPicker1.Value - CDate("1/1/" & d_year) + 1
MsgBox "Wybrano: " & Me.DTPicker1.Value & vbCr _
& "To dzień: " & d_ktorydzen, vbInformation, "VBATools.pl"
End Sub
Funkcja jaka ty natomiast używasz:
vba.DatePart też może zostać użyta i daje ten sam wynik
MsgBox "Wybrano: " & Me.DTPicker1.Value & vbCr _
& "To dzień: " & VBA.DatePart("y", Me.DTPicker1.Value), vbInformation, "VBATools.pl"
Zatem masz swoje uzasadnienie.