< návrat zpět
MS Excel
Téma: Načtení buňky při otevření dokumentu
Zaslal/a Roman-M 3.4.2020 11:34
Ahoj,
mám hodně rozsáhlej soubor obsahující tisíce vzorců, které se odkazují na buňku A1. Ta získává z názvu souboru datum pomocí funkce =POLÍČKO("filename"). No a problém je, že při každém uložení tohoto nebo dokonce i jiného současně otevřeného excel souboru dochází k přepočítávání výše uvedené funkce a tím pádem se přepočítavají všechny další vzorce, které odkazují na buňku A1. Přepočet všeho trvá víc jak minutu.
Napadlo, že by to šlo vyřešit tak aby buňka A1 načítala název souboru jako nyní a B1 si z A1 načetla hodnotu pouze při otevření dokumentu. Pozdější změny v A1 by už na B1 neměli vliv. Nevím jak to ale dát do kupy.
Můžete poradit?
Předem díky!
123456789123(3.4.2020 15:59)#046351 Sub Auto_Open()
Range("B1") = Range("A1")
End Subcitovat
Roman-M(3.4.2020 16:54)#046353 Díky, nevím proč ale nejde mi to. Když vložím kód do zdrojového kódu listu, hodnotu buňky změní při manuálním spuštení makra. Při otevření dokumentu ale zůstává původní hodnota (makro se nespustí) :/
citovat
marjankaj(3.4.2020 19:34)#046355 Asi by si to mal vložiť do thisworkbook
citovat
123456789123(4.4.2020 11:29)#046360 A samozřejmě i odkaz v kterém listu to má proběhnout:
Worksheets("list1").Range("B1") = Worksheets("list1").Range("A1")citovat
RomanMu(27.4.2020 10:46)#046502 Začalo mi to házet chybu out of range viz screenshot.
Aktuálně používám na Listu4 alespoň toto:
Sub Workbook_Open()
Range("AJ4") = Range("AJ3")
End Sub
ale musí se to manuálne spustit což je naprd. Můžete prosím poradit jak to rozchodit aby se ten script pustil sám při spuštení tohoto souboru?
Předem díky.
citovat
RomanMu(27.4.2020 10:47)#046503
Stalker(27.4.2020 13:31)#046506 RomanMu napsal/a:
OBrázek k předchozímu příspěvku: https://imgur.com/a/NH6YrcA
V tom sešitu nikde není list s názvem List4 !!!
citovat
elninoslov(27.4.2020 17:09)#046507 "List4" je object vo VBA, teda meníme ho List4.Range("A1")... na ušku listu je ale napísané to, čo je v zátvorke, teda "My galaxy data", a tam meníme Worksheets("My galaxy data").Range("A1")...
citovat
RomanMu(28.4.2020 13:02)#046516 Hmmm, jsem debil.
Vyřešeno. Díky
citovat