< návrat zpět

MS Excel


Téma: VBA - aktualni datum - rok rss

Zaslal/a 4.6.2021 15:42

FantasykZdravím hekři :-),
prosím o pomoc v těch datumech mám stále nedostatečné znalosti.

Mám kód:
If foundRange.Offset(0, 17).Value < Date Then

a u toho Date bych chtel kontrolovat Date minus rok, aby to kontrolovalo datum starší než jeden rok..

Děkuji za jakékoliv nakopnutí.

(Datum a čas je pro mě tabu)

Díky

Zaslat odpověď >

#050803
avatar
Jedna možnost:
If foundRange.Offset(0, 17).Value < DateSerial(Year(Date) - 1, Month(Date), Day(Date)) Thencitovat
#050804
Fantasyk

Jiří497 napsal/a:

Jedna možnost:
If foundRange.Offset(0, 17).Value < DateSerial(Year(Date) - 1, Month(Date), Day(Date)) Then


Bohužel nefunguje a druhá možnost by nebyla ? 7citovat
#050806
elninoslov
foundRange je 1 bunka? Je v tom istom riadku ako dátum? Je to naozaj dátum alebo text? ... Malo by to fungovať ...
Prílohacitovat
#050807
avatar
Další výstřel naslepo:

If Range("A5").Value < Format(DateSerial(Year(Date) - 1, Month(Date), Day(Date)), "dd.yy.mmmm") Then

Jako byste nevěděl, že s přílohou to mohlo být napoprvé přesně.citovat
#050808
Fantasyk

Jiří497 napsal/a:

Další výstřel naslepo:

If Range("A5").Value < Format(DateSerial(Year(Date) - 1, Month(Date), Day(Date)), "dd.yy.mmmm") Then

Jako byste nevěděl, že s přílohou to mohlo být napoprvé přesně.


Tak teď děkuji za to, že jsi mě pamatujete :-) ( chápu po tolika otázkách co jsem tu měl "učnovských".), akurát ten soubor co dělám má momentálně přes 2MB a to neberu data, která obsahuje, takže už je dost složité to z toho vytáhnout.., abych tu vložil příklad.

PS: smekám kloubouk před Vámi a ostatními "kalibry", kteří tady radí ostatním.citovat
#050809
avatar
A co tedy ten druhý příklad. Funguje nebo taky ne.

Pokud ne:
jaký formát má ten kontrolovaný datum?
je foundRange jedna buňka?

Jako přílohu můžete poslat jen ten jeden list bez maker, bez dat jen s těmi kontrolovanými datumy.citovat
#050810
avatar
Příklad
Příloha: rar50810_datum.rar (13kB, staženo 14x)
citovat
#050811
Fantasyk
foundRange je jedna bunka a format mam nastaveny dd.mm.yyyy

stejnak mi to nějak nejde 7

Mám momentálně kod:
' kontrola platného GDPR
Dim GDPR As Integer, prijmeni As String

prijmeni = foundRange.Offset(0, 5).Value
Worksheets("Database").Unprotect Password:="xxxxx"
Sheets("Database").Select

If foundRange.Offset(0, 17).Value = "" Or DateSerial(Year(Date) - 1, Month(Date), Day(Date)) Then
GDPR = MsgBox(prijmeni & ": odevzdal(a) souhlas GDPR?", vbQuestion + vbYesNo, "Není platné GDPR")
Select Case GDPR

Case vbYes
foundRange.Offset(0, 17).Value2 = Date
id.Text = ""
Case vbNo
Worksheets("Database").Protect Password:="xxxxx", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True, AllowUsingPivotTables:=True
Sheets("Archiv").Select
ThisWorkbook.Worksheets("Archiv").Cells(Rows.Count, 1).End(xlUp).Offset(0, 0).Select
id.Text = ""
MsgBox "Je nutné odevzdat souhlas o GDPR!!!" & vbCrLf & "bez tohoto souhlasu nelze evidovat záznam o testu!", vbCritical
Exit Sub
End Select

Else


'pokracovani kodu


Pokud smažu podmínku .. or Dateserial.... tak to funguje, ale chci přidat pokud je datum v buňce starší než jeden rok, tak opět musí vyskočit okno ohledně souhlasu GDPR jinak pokračuje v kódu vyskakovacího oknacitovat
#050812
avatar
Chybí vám tam podmínka.
Za "or" musí být to co jsem psal v prvním příspěvku. To co je mezi if - then napište mezi or - thencitovat
#050813
Fantasyk

Jiří497 napsal/a:

Chybí vám tam podmínka.
Za "or" musí být to co jsem psal v prvním příspěvku. To co je mezi if - then napište mezi or - then


Ja jsem lopata 9 díky moc

stále se musím učit, jsem si myslel, že si to furt pamatuje tu prvotní podmínku..

fakt mockrát děkujicitovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje