< návrat zpět

MS Excel


Téma: spustit makro změnou hodnoty v buňce a svyhledat rss

Zaslal/a 31.5.2022 23:08

Zdravím.
Lze "změnou" hodnoty v buňce zavolat makro?
Chtěl bych ho dopsat do příkladu.
Děkuji

Příloha: zip52808_wall-zmena-bunky.zip (9kB, staženo 15x)
Zaslat odpověď >

Strana:  1 2 3 4   další »
#052809
avatar
Zdravím, koukni tady:
https://exceltown.com/navody/makra/vba-zajimave-ukazky-maker/makro-ktere-se-samo-spousti-pri-zmene-hodnoty-bunky/citovat
#052810
avatar
Děkuju.citovat
#052811
avatar
Makro už tedy spustím, ale nevěděl by jste tu funkci,nebo příkaz.. viz soubor?

.....po ručním zadání datumu do sl.E, se toto datum přes ??Svyhledat ,doplní do listu2, k příslušnému jmenu do sl.F.

P
Příloha: zip52811_wall-zmena-bunky.zip (17kB, staženo 18x)
citovat
#052812
Stalker
Třeba takto: viz soubor
Dej si pozor na zápis dat, jména byla zadána s počáteční mezerou - odstranil sem.
Příloha: zip52812_wall-zmena-bunky.zip (19kB, staženo 26x)
citovat
#052814
avatar
Ahoj.
Můžeš prosím vysvětlit :
Call MojeMakro(Target.Offset(, -3).Value, Target.Value)

a popsat i řádky v modul1?
Snažím se to pochopit, ale rng, ..resize...nevím co to dělá a proč.citovat
#052818
Stalker
Makro MojeMakro pracuje se dvěma parametry - jméno a datum.
Sub MojeMakro(ByRef Jmeno As String, ByRef Datum As Date) Které mu předá kód uvedený v modulu prvního listu.
Private Sub Worksheet_Change(ByVal Target As Range) Target je některá z kontrolovaných (spouštěcích) buněk prvního listu ve sloupci E - tedy ta, do které zapisuješ datum např. E5
Tedy volání
Call MojeMakro(Target.Offset(, -3).Value, Target.Value)Target.Offset(, -3).Value = jméno (E5 posunutá o 3 doleva, tedy hodnota buňky B5)
Target.Value = datum (hodnota buňky E5)
Tedy pro buňku E5
Call MojeMakro(Renata, 12.10.2023)

http://gymzv.sk/~vyuka/informatika/excel/excelentne/chipex05/08/excel_vba_funkce.html
zaměř se na "Předávání parametrů obecně"

rng je pouze jméno proměnné, můžeš si jí nazvat jak chceš třeba TatkaSmoula

Resize, offset viz
https://office.lasakovi.com/excel/vba-listy-bunky/excel-vba-resize-offset/#99citovat
#052819
avatar
DĚKUJU!..POHRABU SE V TOM.citovat
#052842
avatar
Dobrý den.
Horko Ťažko jsem to připasoval na jiný sešit, ale povedlo se.
Mám ještě jednu věc.
Chtěl bych v listu Vstupy, vzít po jednom Jméno a najít ho v listu Icahistorie, pokud tam bude, doplní se tam k němu vedle do sl.F "a". /s podmínkou: /pouze pokud má ve sl.A aktuální rok,protože tam může být vícekrát a chci ho evidovat jen letos.

Toto je asi základní věc, které potřebuju dobře porozumět. Vybrat z nějaké oblasti(která může být různá o různém počtu řádků, začíná od ??) Hodnotu a tu pak hledat v jiném listu/v oblasti co si určím a k ní doplnit něco do zvoleného sloupce.

..nemůžu se z toho vymotat, neměl by jste nápad?
Příloha: zip52842_wall-najdi-a-dopln.zip (40kB, staženo 10x)
citovat
#052849
Stalker
Napadlo mě řešení pomocí polí, jednotlivá data z listů se načtou do polí, které se v cyklu porovnají mezi sebou. Pokud je splněna podmínka, do dalšího pole se zapíše požadovaná hodnota, toto pole se nakonec vloží na příslušnou pozici do listu.
Příloha: zip52849_wall-najdi-a-dopln.zip (36kB, staženo 16x)
citovat
#052853
avatar
Při implementaci kodu, jsem narazil na chybu :

Při aktivaci formuláře chci sečíst počet hodnot v listu sešitu a uložit do promenné Z

Z = WorksheetFunction.CountIfs(Worksheets("ICA historie").Range("R3", "R" & RowsA), "Ihned Zpracovat")

ale vyskakuje mi chyba :
Application -defined or object defined error, nevíte kde je chyba? To nejde volat takto z UserForm activated ?

..stejný zápis mi v klasickém makru funguje,takže napsaný je správně, ale když ho takto volám z UserForm/activated, nejde tocitovat

Strana:  1 2 3 4   další »

Uživatelské menu

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

Menu

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

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.

On-line nástroje