Vlož to, co máš, a popiš chyby...
P.
Př.:
Call Shell("C:\Program Files\soubor.exe", vbNormalFocus)
Možná bych se spíše zaměřil na optimalizaci makra ;-).
Co tam provádíš tak náročného?
P.
Například takto:
Sub Smazat_radky_dle_podminky()
Dim i As Long
For i = 1 To Range("AT" & Rows.Count).End(xlUp).Row
If Cells(i, 46).Value = "-M-" Then
Rows(i & ":" & i).Select
Selection.Delete Shift:=xlUp
i = i - 1
End If
Next i
End SubP.
Mě napadají 2 možnosti.
1.) Udělat si nějakou pomocnou tabulku, jak píše AL.
2.) Případně lze využít té vlastnosti, že když máš sloučené buňky, tak je hodnota vlastně jenom v první ze sloučených buněk. No a oblast dat grafu nemusí být celistvá, takže ji lze klidně zadat jako:
=List1!$A$1:$A$2;List1!$D$1:$D$2;List1!$G$1:$G$2P.
Zkus seřadit data v kontingenční tabulce.
Případně vlož přílohu.
P.
Slovensky to je "Údaje"...
P.
A co to udělat přes kontingenční tabulku? To je podle mě nejjednodušší řešení. Místo vybírání ze seznamu se akorát bude filtrovat.
P.
Místo msoFileDialogFolderPicker použijte jiný FileDialog - msoFileDialogFilePicker nebo msoFileDialogOpen.
P.
Onen dílčí čítač má fungovat opět na tlačítko, nebo má být navázán na událost změny v listu?
P.
Př.:
If Range("A1").Value = 1 Then
End If
Soubor / Možnosti / Přizpůsobit pás karet
P.
Například takto:
ActiveCell.FormulaR1C1 = "=RC[-1]/R4C3"P.
Na kartě Data, skupina tlačítek Osnova, kliknout na ten "čudlík" vpravo dole ;-), a odškrtnout "Souhrnné sloupce napravo od podrobných".
P.
Ano, to je možné.
Zkus využít funkci COUNTIFS.
P.
Pokud ta data taháš z jednoho listu na druhý, tak v tom druhém listu si můžeš přes KDYŽ nastavit případné "chybové" hodnoty, pokud bude buňka v prvním listu prázdná. Tímto dostaneš do buňky jakékoliv písmeno (nebo znak), no a další úpravy (pokud budou potřeba) pak půjdou klidně přes to podmíněné formátování.
Případně nahraj přílohu.
P.
Př.:
=KDYŽ(List1!A1="";"—";List1!A1)
Několik štědrodenních postřehů:
1.) Bylo by vhodné sjednotit vzory hlášení - sloupce by měly být ve všech případech stejné (stejné pořadí a počet), tak aby se v nich dalo univerzálně SVYHLEDAT. V opačném případě bys musel využít kombinaci jiných funkcí - INDEX a POZVYHLEDAT.
2.) Zvážil bych možnost dávat všechna hlášení na jeden list. Můžeš pak například přidat další sloupec se jménem obchodního zástupce. Usnadní ti to práci se souborem. Budeš tak například funkcí vyhledávat pouze v jednom listu, šlo by to i tak, jak to máš, ale je to vzorcově složitější. Musel bys využívat funkce NEPŘÍMÝ.ODKAZ, ČÁST, POLÍČKO, NAJÍT...
3.) V popisu píšeš něco o kopírování. Řekl bych, že si představuješ, že tam budeš mít ve sloupci nějaké hodnoty napevno a nějaké vzorcem, a že to bude fungovat ;-). Pokud bys chtěl něco v tomto stylu, tak už si nevystačíš se vzorci, ale bude to nutné řešit programováním ve VBA. Vhodnější je ale mít vše vzorcem, s tím, že budeš ukládat všechna hlášení co ti obchodní zástupci pošlou, a vytvoříš si tak vlastně kompletní databázi (budeš mít i historická data). To, že budeš mít u jednoho zákazníka více dat "nevadí". Řešením je vždy zdrojový list seřadit dle data (od nejnovějších po nejstarší). Funkce SVYHLEDAT ti pak vždy vezme pouze první záznam, což bude nejaktuálnější datum, další záznamy ji již nezajímají, takže bude dosaženo cílového efektu.
Přeji pěkné svátky a mnoho excelentních zážitků.
P.
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.