Příspěvky uživatele


< návrat zpět

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


Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse