Mefisto...diabeł czy anioł?

Witam

Chodzi mi o przyspieszenie kalkulacji w Excelu, może można jako¶ upro¶cić/przyspieszyć poniższy kod.

Jakie¶ pomysły?

Option Base 1

Function LICZ_PRODUKTY(produkty As Range, ilosc As Range, macierz As Range, polprodukt As Range)

wi = ilosc.Rows.Count
wm = macierz.Rows.Count
cm = macierz.Columns.Count

For licznik = 1 To wi
produkt = produkty.Range("a1").Offset(licznik - 1, 0)
ilo¶ć = ilosc.Range("a1").Offset(licznik - 1, 0)

kolumna = Application.WorksheetFunction.Match(produkt, macierz.Range("a1").Resize(1, cm), 0)
wiersz = Application.WorksheetFunction.Match(polprodukt.Value, macierz.Range("a1").Resize(wm, 1), 0)
suma = suma + Application.WorksheetFunction.index(macierz, wiersz, kolumna) * ilo¶ć
   
Next licznik

LICZ_PRODUKTY = suma

End Function

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • katkaras.opx.pl