Nejste přihlášen/a.

Přihlásit se do poradny

 

Problém s výrobou makra - jsem bezradný

Od: rori* odpovědí: 5 změna:

Zdravím odborníky, potřeboval bych poradit s výrobou makra. Aby nedošlo k nedorozumění, přidávám testovací list. Já potřebuji makro, kde mi vyskočí okénko a já si vyberu OD>DO tzn např (1.2.2005 do 2.2.2005) a provede to součet čísel. Ovšem stím, že buňky, které patří např. 1:00 až 5:00 se sečtou do jiné buňky a zbytek času se též sečte zvlášť. Makra občas dělám, ale tady si vůbec nevím rady, hlavně stím OD>DO, stačilo by mi asi jen to OD>DO. Děkuji!

leteckaposta.cz/...

 

 

5 odpovědí na otázku
Řazeno dle hodnocení

 

 

buss
hodnocení

0x

Já bych šel na speciální web, kde se vyskytují programátoři.

 

dzordz*
hodnocení

0x

Tomu nechápu. Chcete provést jen jeden součet vybraného rozsahu dat a časů? Nebo z vybraných dnů udělat řadu součtů podle předem zadaných časů, ranní směna, odpolední směna? Nebo budou i časy pokaždé jinak - jak se budou zadávat?

Datum+čas je dohromady jeden typ, s kterým jde normálně aritmeticky operovat. Do sloupce D si hodíte jednoduše =A+B, takže to budete mít v jednom číslu i s datem i s časem, pak si někde bokem napíšete ty dvě hranice a výsledek dostanete vzorcem

=SOUČIN.SKALÁRNÍ((D1:D49<=horní hranice)*(D1:D49>=spodní hranice);C1:C49)

nebo obdobným vzorcem funkcí sumif(). Když těch rozmezí bude víc, napíšete si jejich hranice hezky pod sebe a tohle taky nakopírujete do sloupečku, kde si každý vzorec veme ty hranice své (a na prvním nebo posledním řádku bude samozřejmě chybět..).

doplněno 09.04.12 13:47:

D1 : D49

rori*
hodnocení

Napsal jsem to nesrozumitelně, nicméně jsem na stopě. Proto se zeptám na něco konkrétního.

Vytrousil jsem kód :

Vstupni = Application.InputBox("Vstupní hodnota", "Zadej Buňku")
' Range("J2") = Fix(Range("J2"))
Range("J2") = Vstupni
Vystupni = Application.InputBox("Vystupní hodnota", "Zadej Buňku")
' Range("J3") = Fix(Range("J3"))
Range("J3") = Vystupni
A nyní bych chtěl nějak udělat "Range(",").Select", ale nevím jak, tedy pokud to jde takto. Napíšu do buněk třeba A4 a A10 a vyberou se A4,...A9, A10. Jde to?
dzordz*

No ale na to, co chcete udělat, žádný makro psát nemusíte.

Pro výběr nesouvislé oblasti je třeba použít union (množinové sjednocení):

Union(Range("A4"), Range("A10"), Range("A15")).Select

doplněno 09.04.12 19:08:

doplnění: Kódu je jedno, co je vybráno a co ne. Výběr klidně nechte tam, kde ho uživatel měl naposled, vy přistupujete k objektům jen přes vlastnosti a metody, nemusíte "simulovat" každé kliknutí.

rori*
hodnocení

Já vím, že na tohle makro není potřeba, ale prostě jsem to po mě chtějí, takže tak :)

 

 


 

 

 

Přihlásit se k odběru odpovědí z této otázky:

Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.

Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.

Copyright © 2004-2025 Poradna Poradte.cz. Všechna práva vyhrazena. Prohlášení o ochraně osobních údajů. | [tmavý motiv]