@xlnc
Ale neperou, soudružko. Oni si jen povídají. ;)
Použil bych vyhledávácí funkci Application.Match na poli názvů listů.
Dobře, pokud se budeme bavit o tom, jakbychom gdybychom (pro tento konkrétní případ jak jsem ho pochopil ze zadání bych to stejně udělal tak jak jsem napsal na začátku), tak nejspíše
Načíst názvy listů do pole (metodu neřeším) a pak Filter, např.:
v = Filter(Array("PV-01-2015AAA", "PV-02-2015AAA", "PV-03-2015AAA", "PV-04-2015AAA", "PV-05-2015AAA", "PV-06-2015AAA"), "04-2015")
@cmuch
což je v podstatě to, co jsem navrhl ;))
Ten dotaz neříká, jestli tu koncovku znám, proto tam mám 3 možnosti. Šlo by to napsat elegantněji, ale to by musel být pořádně napsán dotaz (ideálně s přílohou)
Ve spojení s ActiveSheet budiž - to byste testovali jestli tento list má na konci názvu jednu z těch koncovek. Takže by stačiloIf NameSh Like ""PV-" & mesiac & "_" & rok*"može byť iba IXO or KUFU or MRAZ
Jenže byste museli projíždět všechny listy sešitu a to mi přijde zbytečné, když znám "přesný název listu" (kromě koncovky). Ten zmatený dotaz totiž zní:
"Ako ale nastaviť iný sheet".
@Vovka
Like?
@xlnc
...ten je skoro v Excelu hotový...
skoro?
Pokud by existovala jediná kombinace, mohlo by stačit něco takovéhoOn Error Resume Next
Set DestSheet = WorkBk.Sheets("PV-" & mesiac & "_" & rok & "IXO")
If DestSheet Is Nothing Then
Set DestSheet = WorkBk.Sheets("PV-" & mesiac & "_" & rok & "KUFU")
End If
If DestSheet Is Nothing Then
Set DestSheet = WorkBk.Sheets("PV-" & mesiac & "_" & rok & "MRAZ")
End If
On Error GoTo 0
If Not DestSheet Is Nothing Then
'kód
End IfJinak musíte přesně vysvětlit co znamená môže mat len 3 tvary
keď človek raz za mesiac či dva skúšobne použije Select, okamžite ho kameňujú.
To si pište, že jo ;)))
Mno - měl jsem chviličku času, tak jsem něco zkusil. Když už teda zase řešíme něco, co asi nepoužijeme ;))
Využil jsem toho, že operace Transponovat ty vzorce převádí. Takže jsem to zkusil přes dočasný soubor. Nemusím tak zjišťovat, kam odkazy směřují, protože odstraněním propojení se ty "vnější" mění na #REF!. Pro jednoduché vzorce s odkazy buď pouze "dovnitř" nebo "vně" tabulky to bude fungovat spolehlivě. Horší by bylo, kdyby byly použité kombinované vzorce, tzn. s odkazem "dovnitř i vně" tabulky. To není nic výjimečného, ale protože to nepoužiju, tak se mi do toho už moc nechce.
@elninoslov
Nevím, jakou práci děláte a hlavně jak často se setkáváte se zadáním typu - tady máš tohle a potřebuji tohle. A včera bylo pozdě.
Já ledince rozumím a působí to na mne tak, že ví, že když je čas, je určitě jiná cesta jak to udělat. Je otázkou, jestli je lepší provést traspozici výstupu, jak to dělá ona nebo vstupů. Vidím tam, že se pracuje s KT (ZÍSKATKONDATA), takže jsem si celkem jistý, že to lze udělat jinak. To bychom ale museli být přímo u toho. V podstatě jsem uvažoval i nad tím, co napsal lubo, ale nakonec jsem se rozhodl prostě jen odpovědět na dotaz.
@ledinka
pokud toto řešíte jednorázově, mělo by Vám stačit to co jsem napsal. Nicméně pokud byste to dělala často (záleží na Vás, co ten pojem znamená), mohla byste zauvažovat o doplňku. Ten by mohl obsahovat více funkcí, které by byly po ruce, např. jednoduchou transformaci relativních vzorců do absolutních i lubovu cestu přenesení vzorců dotaženou k dokonalosti (tedy včetně "transformace vnitřních vzorců" transponované tabulky). Pak byste měla tyto funkce dostupné ihned pro kterýkoliv sešit.
@xlnc
Používáte chrome?
Nic si z toho nedělejte. Naprosto běžně odesílám příspěvek i 3x - většinou když je tam příloha (malý zip). Nakonec se přepnu do ie ;))) .
Než příspěvek odešlete, nezapomeňte stisknout nejdříve CTRL-A, pak CTRL-C. Mělo by to být v návodu. Ušetří to ťukání do klávesnice.
Nicméně lidi mně tu baví a tak nějaké to nepohodlí zvládnu.
edit:
V poslední době mě to pravidelně odhlašuje, když příspěvek edituju.
Označte si oblast, kde chcete vzorce změnit.
Stiskněte Alt+F11 - zobrazí VBE editor
Stiskněte CTRL+G - zobrazí, aktivuje Immediate window
Vložte tam totoFor Each r In Selection.Cells:r.Formula = Application.ConvertFormula(r.Formula, xlA1, , xlAbsolute):Next ra stiskněte ENTER
Jestli rozumím, takže ve sloupci máte např. v B1 =A1, v B2 =A2 ...
CTRL+H
Nahradit '=A' za '=$A$'
Nahradit vše
Jinak vložte přílohu a řekněte přesně co chcete dělat.
Moudra na čtvrtek:
Ve dvou ze tří mých odpovědí dám nějaké doporučení.
A přibližně na dvě ze tří mých doporučení se tazatel ... víš co, viď?
90% věcí bych dělal jinak a pravděpodobně lépe. Takto si alespoň vyzkouším něco, co bych asi nikdy neudělal.
Už jsem viděl opravdu větší voloviny. ;)
mám tabulku v excelu s jednotlivými datumi
To se máte, že ji máte....
Pokud ji tu nedáte, tak to vidím na podmíněný formát?
edit:
vzorec pro p.f. např.:=A(DNES()>=DOSADIT(ZLEVA(A1;NAJÍT("-";A1)-1);" ";"")/1;DNES()<=DOSADIT(ČÁST(A1;NAJÍT("-";A1)+1;1000);" ";"")/1)eng.:=AND(TODAY()>=SUBSTITUTE(LEFT(A1,FIND("-",A1)-1)," ","")/1,TODAY()<=SUBSTITUTE(MID(A1,FIND("-",A1)+1,1000)," ","")/1)
">="&C4
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
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.