Jen poznámka: Když makro přidá 2 sloupce, kopíruje do nich datumy, (inteligentně rozdělí ty s čas.úsekem), seřadí, zase ty 2 sloupce odebere, jak to může ovlivnit konečný výstup?
Dík za odpověď.
Udržovat výšku tvaru jen v zobrazeném okně je dobrý nápad. Ale stejně mi uniká závislost součtu výšky řádků a výšky okna Excelu. Když jsem to zkoušel např. na 30 řádků a výšce 14,4 >> nastavím .Height = 432 a pak vidím jen 20 řádků a kousek. Nevím.
Do svého řešení jsem přidal zvýraznění řádku a možnost zapnutí/vypnutí na CheckBox. V ostrém sešitu to potom celkem jde používat.
Upřesnění: teď jsem pochopil, že konstanta 950, jak uvádím v souboru, je ve skutečnosti výška štítku, (Label1.Height), když se změní výška štítku na listu, musí se změnit i tohle číslo.
Ahoj, dělal jsem si pro sebe takovou věc, kdy na základě pohybu myši nad rámečkem se mi přepíše obsah buňky pod kurzorem do text.pole.
Mám totiž sloupec vzorců, kde jsou výsledkem dlouhé texty, ale v listu chci mít vidět hodně dalších sloupců, řádky stejně vysoké, atd. nechci použít přizpůs.buňky textu.
Funguje mi to, jen mám problém s tím, když okno excelu není zarovnané přesně na počet řádků, to mi trochu posune spočítanou hranici mezi řádky. Víc je k pochopení v příloze. Excel 2013.
Nevíte někdo, zde se dá nastavit velikost okna aplikace Excel nějak řízeně, aby se zobrazil celý počet řádků a dole nebyl vidět jen proužek posledního řádku?
CTRL+SHIFT+1 neumíte jednou rukou !!?? To snad ne. Tak názorně:
CTRL (levý)= palec
SHIFT (levý) = prsteník
1,2,3 = prostředník, vše na levé ruce
Ano, já to chápu, ale Nováček-Ivan asi ne, tak jsem mu tímto chtěl nabídnout základní, jednoduché řešení, které si zvládne sám poupravit a uvidí (když se mu to podaří), jestli mu to takto stačí, nebo ne.
Mě to na první pokus nefungovalo.
Teď jsem objevil zádrhel v řádku:
WorksheetFunction.Substitute(strS, Chr(32), "")
Když mám v cestě k programu mezeru, odstraní ji to a Shell pak hlásí chybu.
asi by mělo být:
Shell strS & " " & Site, vbNormalFocus
Trochu jsem se na to kouknul. Funguje mi to, poté, co jsem vynechal různé tanečky okolo zjištění cesty k souboru, kterým se má otevírat odkaz.
Vyzkoušej v příloze, je to řešení ala Al, nutné je si přepsat celou cestu na .exe soubor, kterým chceš otevřít odkaz, je to v modulu1 ve VBA. V list1 přepsat na nějaký svůj odkaz.
Ale každý odkaz si otevře svou instanci programu, pro mě nešikovné. To už radši v menu Total Com. mít seznam adresářů, kam chci přistupovat.
Jedna z možností je použít místo odkazů Nepřímé odkazy. Pak se posunem buněk takto definované vzorce nezmění. V příloze jen malý nástin, bez vzorců, jen odkazy přímo na buňky v List1, ale dá se to zapracovat i do složitějších vzorců.
Tak rozšířený filtr názorněji, viz příloha. Excel 2013.
Kurzor na A1, karta DATA, ikona Upřesnit (poblíž Filtr). Nastavit Kopírovat jinam a zadat rozsahy, víc je v příloze.
edit: ta záhlaví tam jsou potřeba zachovat, pojmenovat libovolně.
Marjankaj, nic ve zlém, on už dal přílohu, dostal i odpověď. Tvoje příspěvky jsou značně opožděné a jen matou tazatele.
To je divné, mě ten tvůj kód z předchozího příspěvku funguje pro všechny sloupce E:SA, v řádcích 4:2098 a vypisuje do řádku 2100.
Do přílohy jsem to trochu upravil. Makro je v Module1. Tam se obvykle dává, ne do Listu, i když i tam funguje.
Jsou tam extra řádky pro zadání rozsahu. Není to vstupem (Input) po spuštění, ale musíš přepsat přímo v kódu řádky a sloupce, tam, kde je to poznámkou označené. Vyzkoušej.
TAK JEŠTĚ JEDNOU. Se vzorovým souborem jsem udělal JEN toto: smazal původní makro, nakopíroval nové makro z mého příspěvku z 11.7., zeditoval chybu tam, kde je řádek rozdělený podtržítkem a FUNGUJE to.
6000 nešťastníků, co dostanou nějaký spam? Sory, já bych tady nepomáhal.
Co konkrétně na tom mém řešení nefunguje? Mám sestavený mírně testovací soubor a nevšim jsem si, že by to hlásilo chybu, i výsledky to píše, dle mého správně.
Leda tam je špatně zeditováno to rozdělení do dvou řádků tím podrtžítkem !
Viz příloha. Data jsou nesouvislá, sem tam, ale pokryjí rozsah ř /sl.
Na List2 je to řešení Kp57 a to nic nedělá, blíž jsem nezkoumal. Sory.
Vyzkoušej a ozvi se.
To je zajímavý kód, zase jsem se něco přiučil. Mohlo by to fungovat takhle:
Sub Vypis()
Dim Numbers() As Variant
Dim Texts() As Variant
Dim List() As Variant
Dim CountNumbers As Long
Dim i As Long, j As Long, k As Long
With ActiveSheet
For k = 5 To 495
Texts = .Range("A3:A1745").Value
Numbers = .Range(Cells(3, k), Cells(1745, k)).Value2
CountNumbers = WorksheetFunction.CountIf(ActiveSheet _
.Range(Cells(3, k), Cells(1745, k)), "1")
If CountNumbers = 0 Then GoTo TheEND
ReDim List(1 To CountNumbers, 1 To 1)
j = 0
For i = LBound(Numbers) To UBound(Numbers)
If Numbers(i, 1) = 1 Then
j = j + 1
List(j, 1) = Texts(i, 1)
If j = CountNumbers Then Exit For
End If
Next i
.Cells(1748, k).Resize(CountNumbers, 1).Value = List
Next k
End With
TheEND:
End Sub
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.