Ahoj, mám sešit s maticemi na 3 listech, kde se na posledním listu (List3) počítá hodnota buňky (matice začíná v buňce D5) v závislosti na hodnotách na předchozích listech:
==(IF('List2'!D5>'List1'!$B5;(('List2'!D5-'List1'!$B5)/'List2'!D5)*'List1'!D5;0))
Rád bych namísto rozkopírování vzorce do všech buněk využil makro, ale zatím neúspěšně. Hlásí chybu 'mismatch' na řádku, který je tučně:
Sub matice()
Dim f As Single
Dim g As Single
Dim h As Single
Dim i As Integer
Dim j As Integer
Dim a As Integer
Const b As Integer = 2
Dim c As Integer
Dim d As Integer
For i = 5 To 7
a = ActiveCell.Row
For j = 11 To 14
c = ActiveCell.Column
d = ActiveCell.Column - 2
f = Worksheets("List2").Cells(a, c).Value
g = Worksheets("List1").Cells(b, d).Value
h = Worksheets("List1").Cells(a, c).Value
Cells(i, j).Formula = "=IF(f>g,((f-g)/f)*h,0)"
Next j
Next i
End Sub
Výsledná matice je mnohem větší, velikost 3*4 je jen testovací. Mám Excel 2016.
Mým cílem je urychlit výpočet a zmenšit velikost souboru. Prosím tedy o radu, kde by mohla být chyba. Případně i o navedení na jinou, jednodušší cestu. Díky
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.