Moderatori: Anthony47, Flash30005
Function TransCost(ByRef myPeso As Single, ByRef myMap As Range) As Variant
'vedi http://www.pc-facile.com/forum/viewtopic.php?f=26&t=104927
Dim myC As Single, myDone As Boolean, I As Long
'
For I = 1 To myMap.Rows.Count
If myPeso > myMap.Cells(I, 2) Then
myC = myC + (myMap.Cells(I, 2) - myMap.Cells(I, 1)) * myMap.Cells(I, 3)
Else
myC = myC + (myPeso - myMap.Cells(I, 1)) * myMap.Cells(I, 3)
myDone = True: Exit For
End If
Next I
If myDone Then TransCost = myC Else TransCost = CVErr(2015)
End Function
=TransCost(IlPeso;LaTabella)
=TransCost(A2;M2:O8)
Function TransCostB(ByRef myPeso As Single, ByRef myMap As Range, Optional ByVal myBlock As Long = 1) As Variant
'vedi http://www.pc-facile.com/forum/viewtopic.php?f=26&t=104927
Dim myC As Single, myDone As Boolean, I As Long
'
For I = 1 To myMap.Rows.Count
If myPeso > myMap.Cells(I, 2) Then
myC = myC + (myMap.Cells(I, 2) - myMap.Cells(I, 1)) * myMap.Cells(I, 3)
Else
myC = myC + Application.WorksheetFunction.Ceiling(myPeso - myMap.Cells(I, 1), myBlock) * myMap.Cells(I, 3)
myDone = True: Exit For
End If
Next I
If myDone Then TransCostB = myC Else TransCost = CVErr(2015)
End Function
=TransCostB(A2;M2:O8;100)
=TransCostB(A2;Milano!A2:C100;100)
Per rispondere in modo attendibile avrei bisogno di vedere come hai realizzato il suggerimento che avevo dato e come l'hai sfruttato, cioe' un file dimostrativo con anche un paio di calcoli fatti, con l'annotazione di quale risultato hai ottenuto e quale invece ti attendevi.ho provato ad utilizzare il codice che mi hai dato ma non calcola esattamente la tariffa, la sbaglia di grosso, forse qualcosa é sbagliato
Torna a Applicazioni Office Windows
Calcolo numero giorni settimana nel periodo Autore: Ricky0185 |
Forum: Applicazioni Office Windows Risposte: 16 |
Calcolo del Bitrate per un formato CD Autore: franco11 |
Forum: Audio/Video e masterizzazione Risposte: 4 |
Visitano il forum: Nessuno e 7 ospiti