..|| Blog || Produkti/Storitve || MExcel || MDodatki || 300 nasvetov ||..

datum v VBA

Pomoč pri izdelavi makrov

datum v VBA

OdgovorNapisal/-a AndrejL » Po nov 23, 2009 3:16 pm

zdravo!

prosil bi za pomoč glede iskanja datuma v listu s pomočjo makroja.

npr. rad bi našel datum "23.11.2009" v prvem stolpcu.

ukaz
Koda: Izberi vse
n=application.worksheetfunction.match("23.11.2009", columns(1),0)

seveda ne deluje, ker je v resnici treba iskati število 40140, ki je excelova pretvorba današnjega datuma.

ne uspe pa mi v VBA najti ukaza, ki današnji datum pretvori v 40140, niti mi ne uspe tega v VBA sam izračunati.

prosim za pomoč.

hvala,

andrej
AndrejL
 
Prispevkov: 25
Pridružen: Po nov 10, 2008 9:22 pm



Matjazev.NET
 

OdgovorNapisal/-a admin » Po nov 23, 2009 3:26 pm

Samo pretvorba v long:
Koda: Izberi vse
? date
23.11.2009

? clng(date)
40140
lp,
Matjaž Prtenjak
Administrator
admin
Site Admin
 
Prispevkov: 3532
Pridružen: Sr jul 20, 2005 10:06 pm

OdgovorNapisal/-a AndrejL » Po nov 23, 2009 3:31 pm

hvala
AndrejL
 
Prispevkov: 25
Pridružen: Po nov 10, 2008 9:22 pm

OdgovorNapisal/-a capirossi » Če dec 10, 2009 1:21 pm

Pozdravljeni!

Jaz bi pa potreboval pomoč pri naslednji nalogi:

V celici A1 imam zapisan datum, ki mu določim obliko mm.yy (format cells --> number --> custom --> mm.yy)

V celicah B1 : B10 pa imam zapisane datume (npr 1.12.2009, 23.7.2010, 12.10.2009) ravno tako v obliki mm.yy.

Moja želja je, da bi vse datume (v celici B1 : B10), ki so v istem mesecu in letu kot datum v celici A1 odebelil.

Če napišem:

Koda: Izberi vse
For isci = 1 To 10
If (Range("A1") = Range("B" & isci)) Then
 Range("B" & isci).Font.Bold = True
End If
Next


mi odebeli le tiste datume, ki se z datumom v celici A1 ujemajo v dnevu, mesecu in letu.

Prosim za pomoč

Lep pozdrav, Loris
capirossi
 
Prispevkov: 25
Pridružen: Če dec 10, 2009 12:51 pm

OdgovorNapisal/-a admin » Če dec 10, 2009 1:32 pm

Oblika izpisa ne vpliva na vrednost! Zatorej vaša koda zmeraj primerja celoten datum v celici A1 z datumi v drugih celicah. Če želite primerjati leta in mesece morate to tudi povedati. Spodaj imate popravljeno kodo:
Koda: Izberi vse
For isci = 1 To 10
  If (Year(Range("A1")) = Year(Range("B" & isci))) And _
     (Month(Range("A1")) = Month(Range("B" & isci))) Then
    Range("B" & isci).Font.Bold = True
  End If
Next
lp,
Matjaž Prtenjak
Administrator
admin
Site Admin
 
Prispevkov: 3532
Pridružen: Sr jul 20, 2005 10:06 pm

OdgovorNapisal/-a capirossi » Če dec 10, 2009 1:38 pm

Najlepša hvala za pomoč.

Lep pozdrav, Loris
capirossi
 
Prispevkov: 25
Pridružen: Če dec 10, 2009 12:51 pm


Vrni se na VBA

Kdo je prisoten

Po forumu brska: 0 registriranih uporabnikov in 3 gostov

cron