midke
19.10.15,13:39
Použitý vzorec - =VLOOKUP(A2;vzorec!$A$2:$C$3692;3;FALSE)

Potrebujem prepísať odkaz bunky A2 priamo hodnotou tejto bunky.
Jedná sa o niekoľko tisíc vzorcov a nechce sa mi to ručne vpisovať.

Bližšie info v priloženom súbore.
ivka70
19.10.15,11:42
Blizsie info napis do otazky, nech aspon vieme, ci ma zmysel stahovat subor a vrtat sa v nom .... a oprav si aj nazov otazky ... nech vystihuje podstatu ... podla Etikety porady ....
ivka70
19.10.15,12:39
Vyznacit cely stlpec, ktory chces prepisat, prave tlacidlo mysi: kopirovat, opat prave prilepit specialne - hodnoty.
stormcatcher
19.10.15,13:35
...a kde mas tie vzorce ktore chces nahradzat?
PaloPa
19.10.15,16:52
To by zmenilo na hodnotu celý vzorec. On potrebuje zo vzorca zmeniť na hodnotu iba jeden argument (odkaz na bunku v stĺpci A). Myslím, že to by sa dalo iba makrom. P.
ivka70
19.10.15,16:56
Nezda sa mi, ze by to autor myslel az tak sofistikovane :)
PaloPa
19.10.15,17:22
Ale áno, viď v príklade stĺpce G a H.
midke
20.10.15,04:38
Áno, presne tak. potrebujem presne toto, len bohužial z makrami neviem robiť.
PaloPa
20.10.15,09:14
Makro v prílohe skonvertuje v množine oselektovaných buniek odkaz na bunku zo stĺpca A na jej hodnotu a nový vzorec posunie 2 dve bunky vpravo.

V prípade potreby zmeny zdrojového vzorca, treba v makre v predposlednom riadku zrušiť "Offset(0, 2)."


Spustenie (makrá musia byť povolené):

1) označiť bunky so vzorcami
2) ALT+F8, vybrať makro ParseFormula a tlačidlo "Spustiť"


Tu je kód (dá sa vložiť, resp. zmeniť cez ALT+F11):




Sub ParseFormula()
'
' ParseFormula Makro
' Zmení časť vzorca na hodnotu
'

Dim cc As Range, c As Range, x As String
Dim zac As Byte, kolko As Byte, stl_A As String, cely_vzorec As String
zac = 10

Set cc = Selection
For Each c In cc
'Set c = Range("I2")
cely_vzorec = c.Formula 'c.Formula = "=VLOOKUP(A2,vzorec!$A$2:$C$3691,3,FALSE)"
kolko = InStr(1, cely_vzorec, ",") - zac 'pozicie stlpca A vo vzorci

stl_A = Mid(c.Formula, zac, kolko)
x = Chr(34) & Range(stl_A).Text & Chr(34)

c.Offset(0, 2).Formula = Replace(cely_vzorec, stl_A, x, 1, -1, 1)
Next c

End Sub
midke
20.10.15,15:46
ďakujem za pomoc, ani som nedúfal, že sa to nejako bude dať. Je to presne to, čo som potreboval. Super