O pokročilej hodine som zabudol na "maličkosť", že bunka s posledným riadkom nemusí byť aj bunkou s posledným stĺpcom. Opravené.
Tak žiaľ mne to nefunguje. Označí mi to A4, ktorá nieje ale rovnaká. V Podmienenom formáte je zvlášť A1 a A2:A7, má to tak byť ? Vnorenie Definovaných názvov som skúšal aj 2 aj 3, a nič. Akonáhle zatvorím pf2, neoznačí už ani tú A4. Nepomáha zmena v oblasti, ani Calculate listu ani uloženie súboru.
Nevravím, že to nefunguje, len ja to neviem asi správne presvedčiť
ExecuteExcel4Macro() sa tiež nedá použiť vo funkcii, ale iba v procedúre, takže tiež nič.
@MistrYpsilon: Rozbehali ste tento návrh, či Vám stačí "dolovací" stĺpec ?
Prekopaná verzia. Predošlá zisťovala počet riadkov tabuľky iba v stĺpci A, keďže tabuľka bola krásna, úhľadná, rovnomerná a vyplnená. Je potrebné druhý krát uviesť, že stĺpce sú nerovnomerné, lebo sa musí použiť iná metóda zisťovania počtu riadkov. Teraz je šumák, koľko tam budete mať stĺpcov a riadkov, a je jedno koľko je v ktorom stĺpci údajov.
Dodržte iba toto:
1. V liste s datami nemajte nič iné len data začínajúce od A1 (tak ako to máte, pridávajte len riadky alebo stĺpce).
2. V liste s výpisom nedávajte nič pod riadok 9 v stĺpcoch A a C.
Pridal som Vám tam aj Podmienené formátovanie pre vypísané kódy.
A posledná vec, nastavil som Vám to na skúšku tak, že nepotrebujete tlačítko, stačí iba napísať do B2 hľadanú hodnotu a okamžite vidíte výsledok. Ak chcete tlačítko zmažte si metódu Worksheet_Change listu "Hárok1", alebo opačne.
Ak tá tabuľka bude naozaj veľká, tak Vám prerobím výsledok do poľa, teraz je to pre zjednodušenie zápis výsledku po bunke. Ak to bude iba menší počet výsledkov (nie 100-vky), tak si to môžete nastaviť aj do Worksheet_Change udalosti pre tú B2.
Samozrejme ak by bol hrozil výsledok dlhší ako 41 riadkov, čo tam máte teraz, treba upraviť.
2 verzie. V Worksheet_Change volajte, ktorú chcete. Líšia sa iba cyklom For.
Jedna schová stĺpce podľa všetkých validných textov v stĺpci A.
Druhá schová stĺpce iba podľa posledného validného textu v stĺpci A.
Validné texty si nastavujete v makre v poli "t" a stĺpce ktoré sa majú schovávať si nastavte v poli "Prav". Počet textov v "t" a počet položiek v poli "Prav" musí byť samozrejme rovnaký.
Odkrývanie nevalidných stĺpcov prebieha automaticky.
Žiaľ ani vnorenie to nepapá.
Pravda, že ak sa vcítime do kože niekoho, kto nieje zbehlý a netuší, že existuje niekoľko kombinácií oddeľovač/preklad funkcie, tak by sme si asi tiež trhali vlasy pri chybe inak funkčného riešenia.
Aspoň, že chyba s oddeľovačmi sa tu nevyskytuje často.
K prekladu fnc, pokúsim sa nezabudnúť dať aspoň upozornenie na SK verziu.
Upravené. Chcete to aj vysvetliť, alebo to pochopíte z kódu?
Prosím ešte raz popíšte podrobne čo sa má diať, každý krok čo s tým budere robiť opište čo urobíte na ktorom liste. Predošlé zadanie som pochopil tak, že sa majú skopírovať z listu1 do listu2 iba riadky, v ktorých niesú vyplnené všerky 4 dátumi. Teraz sa nezkopírujú 2. List 2 sa zmaže celý automaricky, vy nič nemusíte, potom sa ta vložia nové data. Mám Excel 2013, a takto to funguje.
Popíšte presne na ktorej bunke je čo zle. Lebo to zadanie bieje 100% ľahko zrozumiteľné.
Vynechajte tú jednu premennú, v tomto prípade nieje potrebná ani pre čitateľnosť:
Sub CreateDir()
Dim Cesta As String
Cesta = "c:/prace/" & Worksheets("Hárok1").Cells(1, 1) & "\"
If Len(Dir(Cesta, vbDirectory)) = 0 Then MkDir (Cesta) Else MsgBox "Tato složka již existuje!"
End Sub
dá sa ísť ešte kratšie, ale to sa málokomu dobre číta:
Sub CreateDir()
If Len(Dir("c:/prace/" & Worksheets("Hárok1").Cells(1, 1) & "\", vbDirectory)) = 0 Then MkDir ("c:/prace/" & Worksheets("Hárok1").Cells(1, 1) & "\") Else MsgBox "Tato složka již existuje!"
End Sub
Urobil som Vám jedno riešenie cez pole, rýchle, kompletné, s overovaním a vylúčením riadkov so 4 dátumami, orámovaním. Je to také rýchle, že sa to dá používať takmer OnTheFly :)
Je to ošetrené voči neexistencii súboru, voči prázdnym riadkom, voči žiadnym riadkom v súbore, voči chybe pri zápise, voči nezhodnému počtu riadkov a počtu Checkboxov, voči konverznej chybe. Proste proti chybám, pri neoprávnenej manipulácii s TXT súborom. Vyskúšajte.
Keď nikto, tak skúste toto:
Len pre zaujímavosť a úplnosť dodám, že sme to poriešili cez mail, a keďže cudzie dáta sú pre mňa sväté, tak Vám tu uvádzam to riešenie skopírované do toho môjho súboru, čo som si vytvoril sám podľa obrázkov.
V reálnom súbore robilo problém zacyklenie, z dôvodu nevyplnenej oblasti Fabrics - ošetrené, a ďalej bolo potrebné zmeniť kopírovanie hodnôt z Copy Destination na Copy PasteSpecial, pretože tam boli vzorce.
Podmienené formátovanie nefunguje pri odkazovaní na iný zošit, a to dokonca ani pri Definovanom názve
Tak napr. pomocným dolovacím skrytým stĺpcom...
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.