Questione : Alternativa di EOMONTH, di EDATE & di NETWORKDAYS

Ciao,

Using il codice allegato ottengo il #NAME di errore? su alcune macchine. Penso che lo abbia segnato con esattezza giù al fatto le versioni di eccellono la gamma a partire da 2000 - 2003 sp3 ed alcuni non hanno il toolpack di analisi installato?

Is là un'alternativa che posso usare per le quattro linee qui sotto?
-------------------------------------------------------------------------------------------------------------------

Range (“AS2„). Formula = “

Range (“A47„ del =EOMONTH (AL2,1) “). Formula = “=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:

di R23C13) “-------------------------------------------------------------------------------------------------------------------il



What che sto provando a realizzare è che quella cellula AS2 è avanzata dal più 1 mese allora varia liste A47-A58 gli ultimi 12 mesi compreso il mese corrente inoltre variano D47: D58 dà in anticipo i giorni lavorativi totali per ciascuno questi del
Sq




di months.

Thanks class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
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 notpretty MonthPlus1 secondari " del class= " del id= " codeSnippet779726 del
           
class= del

Risposta : Alternativa di EOMONTH, di EDATE & di 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:
Funzione Networkdaysvba (startDate come doppio, endDate come data, feste facoltative come variante) come numero intero
    Oscurare la i come numero intero
    Oscurare il tmp come numero intero
    Oscurare il distacco come data, dtStart come data
    
    startDate = difficoltà (startDate)
    tmp = ((endDate - startDate + settimane del lavoro di 1) \ 7) * 5 'intere
    dtStart = startDate + (tmp * 7/5) 'movimento verso la settimana scorsa
    Per distacco = dtStart a endDate
        Se giorno della settimana (distacco, vbMonday) <>= h allora
                tmp = tmp - 1
            Concluder se
        Dopo
    Concluder se
    Networkdaysvba = tmp
Funzione di conclusione

Funzione EOMonthVBA (startDate come doppio, mesi come lungamente) come data
    startDate = difficoltà (startDate)
    EOMonthVBA = DateAdd (“m.„, mesi + 1, startDate - giorno (startDate) + 1) - 1
Funzione di conclusione

Funzione EDateVBA (startDate come doppio, mesi come lungamente) come data
    startDate = difficoltà (startDate)
    EDateVBA = DateAdd (“m.„, mesi, startDate)
Funzione di conclusione
Altre soluzioni  
 
programming4us programming4us