

Excel VBA pomoc se vzorcem
Dobrý den, mám vzorec VBA a potřebuji, aby se to samo aktualizovala.
Vyhledává obrázek když do buňky F5 pomocí svyhledat se vyhledá číslo např.: 002 tak to vyhledá obrázek
ale neaktualizuje se to samo. Můžete mi, prosím pomoci, aby to aktualizovalo samo.
Děkuji
Vzorec je:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F$5" Then
Dim N As String
Const Cesta = "F:\002. Fotky Osobností\"
N = Cells(5, 6)
If N <> "" Then
N = Cesta & N
Select Case True
Case Len(Dir(N & ".png")) > 0: Call ZmenObrazok(N & ".png")
Case Len(Dir(N & ".jpg")) > 0: Call ZmenObrazok(N & ".jpg")
Case Len(Dir(N & ".gif")) > 0: Call ZmenObrazok(N & ".gif")
Case Len(Dir(N & ".bmp")) > 0: Call ZmenObrazok(N & ".bmp")
End Select
Else
Shapes("imgHDD").Fill.Solid
End If
End If
End Sub
Private Sub ZmenObrazok(S As String)
Shapes("imgHDD").Fill.UserPicture (S)
Etkine, nabudúce si uvedom, že zdieľanie takých údajov, čo si vycapil, je trestné!
Veď preboha vytvor nejaký fiktívny súbor s vymyslenými údajmi na odskúšanie a vysvetlenie toho, čo chceš.
Potom sa môžeme baviť ďalej.
Admin, Mod
To byli vymyšlené data.
Zde je nový soubor upravený.
Nevím jak to automaticky aktualizovat.
Děkuji
Aha, takže dle popisu přímo v XLS Ti nefunguje aktualizace, pokud se změní obsah buňky F5, v které je ovšem vzorec.
Zkus tedy nepracovat s událostí Worksheet_Change, ale Worksheet_Calculate.
Můžete mi to prosím napsat ten vzorec nijak mi to nejde.
Děkuji
Jakej vzorec zase?
Žádnej vzorec, událost. Postupuj dle obrázku.
Udělal jsem to podle návodu a nefunguje to.
Nefunguje co? Kde? Jak se to projevuje? Nějaká chyba?
Člověče, chceš pomoct a prozradíš toho ještě míň, než partyzán při výslechu!
Tip: nenechal jsi v tom kódu podmínku
?
Mimochodem - deklarace proměnné až za podmínkou je teda pěkná prasečina...
A ještě pozor - jak jsem se ještě kouknul, událost Worksheet_Calculate nedokáže rozeznat, jaká buňka se změnila! Musíš si tedy nějak sám ošéfovat, že se změnila právě ta buňka, kterou chceš hlídat...
Worsheets_Change je OK a funguje, celá procedúra prebehne ako má, akurát pri volaní procedúry ZmenObrazok sa objekt imgHDD nenaplní.
To je celé, v čom je problém, len to kostrbato vysvetľuje...
Tiež som skúšal metódy EnableEvents a Calculate ale bez účinku.
(samozrejme, chýba mu tam na konci End Sub)
Nebol by problém to zobraziť v užívateľskom formulári, ktorý by mal vložený objekt Picture (aspoň myslím - neskúšal som), ale pokiaľ to používa v hárku ako prvok ActiveX tak mi to nechce ísť...
Je pravda že v F5 má vzorec ale procedúra preberie hodnotu...
Ja som si to simuloval s jednoduchou hodnotou a vlastným zdrojom obrázkov a ani tak to obrázok neprepíše...
Dovolím si nesouhlasit: pokud se hodnota buňky změní vlivem vzorce, který je v té buňce, událost Worksheet_Change ji nedokáže zachytit, musí se použít Worksheet_Calculate (osobně otestováno).
Nejde to.
Můžete prosím poslat vzor.
Moc děkuji
Prosím: http://www.uschovna.cz/zasilka/KWKAIPLJT2ZIUM8P-AY R/
Měním buňky A2 a A3, v buňce C2 mám vzorec "=A2&A3", buňku D2 používám jako odkládací pro testování změny v události Calculate.
Makra tam jsou jednoduchá:
Pokud změním některou z buněk A2, A3, vyvolá se událost Calculate. Ta nejprve zkontroluje, jestli se výsledek vzorce v buňce C2 opravdu změnil a pokud ano, vypíše zprávu a do D2 uloží novou hodnotu.
Pokud se postavím na C2 a stisknu F2 a ENTER, vyvolám událost Change, která jen vypíše zprávu.
Ok, nehadam sa a verim, nakoniec je to logicke, osobne som neskusal. Ako pisem, simuloval som to vo vlastnom experimentacnom zosite a nepouzil som vzorec, prepisoval som priamo F5. Takto to fungovalo na Change ale neprepisoval sa obrazok... Hladal som riesenie len tejto stranky problemu, t.j. prepis obrazka. To, ak som z diskusie pochopil (nie som na pc), este nejde... ci?
I tak mě to nejde podle vzoru obrázek to nepřepíše.
Stavaj na tomto:
Neoživil som to na udalosť Calculate, tak som to poriešil na WorkSheet_Change.
Hľadal som riešenie na aktualizáciu obrázka podľa obsahu bunky F5
Vyskúšaj si to, ale s tým, že musíš priamo prepisovať F5. "Aktualizácia", t.j. prepísanie obrázka, bude fungovať.
Potom treba poriešiť to, že bunka F5 obsahuje vzorec a teda, ako píše Machr555, procedúra sa nespustí.
Dá sa to ale obísť tak, že nájdeš vhodný spúšťač (ako vidím, vytváral si formulár, neskúmal som ho ale hneď ma napadá možnosť spúšťania zmenou vhodného prvku na formulári).
Tento spôsob Ti naplní obrázok do aktuálnej bunky, teda aký veľký bude obrázok, s takou veľkosťou sa načíta... Pokiaľ sú obrázky rôznych rozmerov, musíš si to poriešiť prispôsobujúcimi výpočtami.
P.S. pokiaľ je východzí stav bez obrázka, bude potrebné doplniť i do prvej procedúry príkaz On Error Resume Next (ak však môže nastať chyba i z iného dôvodu, musíš príkaz On Error ošetriť inak)
Děkuji,
už jsem to vyřešil.
=OBR_Z_VYHLEDANI a funguje to.
Díky za radu.
Jen tak pro pořádek:
index.php
Aj sa mi to zdalo nejake pokrocile...
Siki,
takže časopriestorový skokan Eilsa to už vyriešil...
nuž... proste hľadal, kde sa dá... Ale tie vysvetlenia požiadaviek, či už tu alebo tam, sú neskutočne zmätočné... Terminológia a chápanie mimo...
Bolo zrejmé, že je to sotva jeho výtvor, s takými formuláciami požiadaviek ťažko čosi takého mohol vytvoriť, ale ok... Lenže takýmto prístupom bude večne odkázaný na zlepence čiastkových riešení z rôznych strán...
Etkin, to je pre Teba.
(ak si sa už vrátil pozrieť i sem z Wall...)
Ak sa tomu ozaj chceš venovať, začni štúdiom základov Office, aby si vedel vôbec pomenovať prvky a nástroje týchto programov. Potom by bolo fajn trocha viac sa oboznámiť s funkciami Excelu a potom, ako ďalší krok, sú základy VBA. Až potom môžeš chcieť ako-tak rozumieť makrám.
Alebo Ti nevadí sa zas a znova, bez pokroku, pýtať amatérske dotazy bez toho, aby si vlastne vedel vysvetliť, o čo Ti ide? (trebárs ako má Eilsa vysvetliť, že akú ikonu chce kam vlastne vložiť)? Ak sa tomu chceš venovať, tak musíš zmeniť prístup. Inak je to k ničomu...
Můj příspěvek možná vyzněl jinak než byl zamýšlen.
Ale jó, já mu to neberu. Sám mám na různých fórech jiný nick. Kdyby napsal
tak si toho ani nevšimnu, ale tohle
mě prostě praštilo do očí, tak sem kouknul "vedle". Kdyby alespoň vlepil celý kód nebo napsal, už sem to vyřešil jinde a dal odkaz.
Trefil by mě šlak, když něco hledám na fórech kde je ve vlákně spousta návrhů a nakonec se dozvím jen suché konstatování VYŘEŠENO
Prostě sem vlepil odkaz i pro další, kteří se ve vlákně nějakým způsobem angažovali.
naviac žiadny OBR_Z_VYHLEDANI v tejto poradni nikde vo svojom vzore nemal, nenašiel som ho nikde... Až keď si dal ten link, tak ma napadlo, že to bude asi odtiaľ

Proste ping-pong... Skladajú mu to ľudia z rôznych fór
A už toho nechaj, poďme spať



