Option Explicit Function Mezclador(ID As Integer, TabAire As Range, TabCom As Range) As Double Dim i, nA, nC As Integer Dim ExAire, BaseCal, yA(), yB(), Naire, Nsalida, yS() As Double Dim Resultado() As Double nA = TabAire.Cells.Count nC = TabCom.Cells.Count ReDim yA(nC - 3), yB(nC - 3), yS(nC - 3) ReDim Resultados(nC - 2) ExAire = TabAire(3).Value BaseCal = TabCom(3).Value '1:CH4 2:C2H6 3:H2O 4:CO2 5:O2 6:N2 For i = 1 To nC - 3 yB(i) = TabCom(i + 3).Value Next i yA(1) = 0 yA(2) = 0 yA(3) = TabAire(4).Value yA(4) = 0 yA(5) = TabAire(5).Value yA(6) = TabAire(6).Value Naire = (1 + ExAire / 100) * (2 * BaseCal * yB(1) + 3.5 * BaseCal * yB(2)) / yA(5) Nsalida = Naire + BaseCal For i = 1 To nC - 3 yS(i) = (yA(i) * Naire + yB(i) * BaseCal) / Nsalida Next i For i = 1 To nC - 3 Resultados(i) = yS(i) Next i Resultados(nC - 2) = Nsalida Mezclador = Resultados(ID) End Function