Vraag : EOMONTH, ALTERNATIEF EDATE & NETWORKDAYS

Hallo,

Using de code in bijlage krijg ik de fout #NAME? op sommige machines. Ik denk ik het neer aan het feit heb aangewezen de versies van waaier van sp3 uitblinken van 2000 - van 2003 en wat niet de geïnstalleerde analyse toolpack hebben?

Is daar een alternatief ik voor de vier hieronder lijnen kan gebruiken?


Range („AS2“). Formule = „=EOMONTH (AL2,1) „

Range („A47“). Formule = „=AS2- ((EOMONTH (AS2,0) - EOMONTH (AS2, - 1))- 1) „

Range („A48: A58“) .FormulaR1C1 = „=EDATE (R [- 1] C [], - 1) „

Range („D47: D58“) .FormulaR1C1 = „=NETWORKDAYS (RC [- 3], EOMONTH (RC [- 3], 0), Control! R2C13: R23C13) „





What ik probeer te bereiken ben dat die cel AS2 door plus 1 maand uitstrekt zich dan A47-A58 een lijst maakt van de laatste 12 maanden met inbegrip van de huidige maand uitstrekt zich ook D47 wordt vooruitgegaan: D58 geeft vooraf de totale werkdagen voor elk van deze months.

Thanks
Sq




" codeBody "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
Private SubMonthPlus1 ()

Application.EnableEvents = Vals

Waaier („AL2“). Formule = „=AS2“
Waaier („AL2“). Waarde = Waaier („AL2“). Waarde

Waaier („AS2“). Formule = „=EOMONTH (AL2,1)“
Waaier („AS2“). Waarde = Waaier („AS2“). Waarde

Waaier („AL2“) .ClearContents
     
    
Waaier („A47“). Formule = „=AS2- ((EOMONTH (AS2,0) - EOMONTH (AS2, - 1))- 1)“
Waaier („A47“). Waarde = Waaier („A47“). Waarde

Waaier („A48: A58“) .FormulaR1C1 = „=EDATE (R [- 1] C [], - 1)“
Waaier („A48: C58“). Waarde = Waaier („A48: C58“). Waarde

Waaier („D47: D58“) .FormulaR1C1 = „=NETWORKDAYS (RC [- 3], EOMONTH (RC [- 3], 0), Controle! R2C13: R23C13)“
Waaier („D47: D58“). Waarde = Waaier („D47: D58“). Waarde

Application.EnableEvents = Waar

Sub van het eind

Antwoord : EOMONTH, ALTERNATIEF EDATE & NETWORKDAYS

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
Functie Networkdaysvba (startDate zo Dubbel, endDate zoals Datum, Facultatieve vakantie als Variant) als Geheel
    Schemerige I als Geheel
    Schemerige tmp als Geheel
    Schemerige dt als Datum, dtStart als Datum
    
    startDate = Moeilijke situatie (startDate)
    tmp = ((endDate - startDate + 1) \ 7) * 5 'volledige het werkweken
    dtStart = startDate + (tmp * 7/5) 'beweeg me aan vorige week
    Voor dt = dtStart aan endDate
        Als Weekdag (vbMonday dt,) <>= h toen
                tmp = tmp - 1
            Eind als
        Daarna
    Eind als
    Networkdaysvba = tmp
De Functie van het eind

Functie EOMonthVBA (startDate zoals Dubbel, maanden als lang) als Datum
    startDate = Moeilijke situatie (startDate)
    EOMonthVBA = DateAdd („m“, maanden + 1, startDate - Dag (startDate) + 1) - 1
De Functie van het eind

Functie EDateVBA (startDate zoals Dubbel, maanden als lang) als Datum
    startDate = Moeilijke situatie (startDate)
    EDateVBA = DateAdd („m“, maanden, startDate)
De Functie van het eind
Andere oplossingen  
 
programming4us programming4us