MOi
Private Sub ANNAPVM_AfterUpdate() Dim TheDate As Date ' Declare variables. TheDate = ANNAPVM TheDate = ANNAPVM TAVV = ((DatePart("yyyy", TheDate, vbMonday, vbFirstFullWeek)) & (DatePart("ww", TheDate, vbMonday, vbFirstFullWeek))) End Sub
Eli koodin pätkällä saan päivämäärästä formiin vuoden ja viikon tyyliin 200545.
Mutta tarve olisi vuodet ja viikot kahtena numerona 0545 .
Testatessani huomasin että viikot 1-9 muodostuu vain yksi numeroisena. Niihin tarvisi saada nolla eteen.
Mistä lähtisin tätä purkamaan? Hyviä esimerkkejä.
Kiitos
T: juhis
Onkos tuossa VBA:ssa Format-funktio. Sillähän sen saa muotoiltua.
Mitä sanoo seuraava...
TAVV = (Format(DatePart("yyyy", TheDate, vbMonday, vbFirstFullWeek),"yy") & Format(DatePart("ww", TheDate, vbMonday, vbFirstFullWeek),"00"))
Terve
Kiitokset vaan vastauksista. Tuo viikon numerointi toimii nyt ihan ok. Vuosien kohdalla asia ei näin ole. "yy" antaa kaksi numeroa mutta ne ovat aina 05, vaikka vuosiluvuksi antaisi mitä tahansa. Sitten kun laittaa "yyyy" vuosiluku tulee oikein mutta nelinumeroisena.
Olisiko tähän jotakin vippaskonstia?
T juhis
Homma menee reisille, koska DatePart palauttaa vain vuosiluvun, mutta Format vaatii kokonaisen päivämäärän toimiakseen... Kokeile seuraavaa...
TheDate = ANNAPVM TAVV = (Format(TheDate,"yy") & Format(DatePart("ww", TheDate, vbMonday, vbFirstFullWeek),"00"))
Aihe on jo aika vanha, joten et voi enää vastata siihen.