Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  143 144 145 146 147 148 149 150 151   další » ... 285

Sub Makro1000b()
Dim Cell As Range, D(), Radku As Long, HDN As String, RNG As Range
With wsUrgence
Radku = .Cells(Rows.Count, 1).End(xlUp).Row - 1
If Radku < 2 Then MsgBox "Chybějí data.", vbExclamation, "Oznam": Exit Sub
HDN = wsStrategickeDily.Cells(3, 4).Value2
ReDim D(1 To Radku, 1 To 1)
D = .Cells(2, 1).Resize(Radku).Value2
For Radku = 1 To Radku
If D(Radku, 1) = HDN Then
If RNG Is Nothing Then Set RNG = .Cells(Radku + 1, 1) Else Set RNG = Union(RNG, .Cells(Radku + 1, 1))
End If
Next Radku
End With
If Not RNG Is Nothing Then RNG.Interior.Color = RGB(0, 204, 255)
End Sub

Nechcete Vy náhodou testovať výskyt všetkých zo Strategické díly!D3:D13 ? Inak to môžete kľudne aj Podmieneným formátom.

PS: wsUrgence a wsStrategickeDily som si pomenoval CodeName listov.

Ak chcete dať do bunky C3 dlhý maticový vzorec, a môžete použiť pri tom DefName, tak takto to ide:
Sub pokus()
With ActiveSheet
.Range("C3").Formula = "=IF(A3="""","""",RIGHT(REPT(""0"",LEN(A3))&SUM(IFERROR(MID(A3,LARGE(IF(ISERROR(--MID(A3,LEN(A3)+1-ROW($A$1:INDEX($A:$A,LEN(A3))),1)),FALSE,LEN(A3)+1-ROW($A$1:INDEX($A:$A,LEN(A3)))),ROW($A$1:INDEX($A:$A,LEN(A3)))),1),0)*POWER(10,ROW($A$1:INDEX($A:$A,LEN(A3)))-1)),COUNT(--MID(A3,LEN(A3)+1-ROW($A$1:INDEX($A:$A,LEN(A3))),1))))"
.Names("MATICOVY_VZOREC").RefersToR1C1 = Range("C3").FormulaR1C1
.Range("C3").Formula = "=MATICOVY_VZOREC"
End With
End Sub

Áno vspomínam si, myslím že toto je ono. Metóda 1 má v SK 318 znakov. V CZ má až 439 ?
Tož já sa v tom niekedy pekne vyžívam 5
UDF by bola podstatne jednoduchšia a čitateľnejšia to je jasné. Tak ale možno existujú iné jednobunkové vzorce, jednoduchšie, netuším ...

Rôznych riešení môžu byť mraky, tu je ďalší príklad, ale opäť a zas (ako vždy), nedostatočný popis bez príkladu presného požadovaného použitia. Ak ide len o nájdenie objednávky, na to stačí aj filter, ak o súhrn objednávok pre určitého odberateľa, na to KT. Neviem na čo potrebuje dotyčný takéto niečo. Teda HOLIS87, ste na ťahu ...

Podľa viacerých fór na nete, to možné nieje. Čo je teda u takého medzinárodného kolosu až divné. Rozčarovanie nezdieľate sám...

Šmarjá! Pár dní som tu nebol a takýto Flame. Nenechám sa do neho namotať, len poznámky:
- Neverím, že sa toto nevypomstí
s = Range(...).Text
- Ktokoľvek chce, nech teda prispeje kompletným riešením výpisu veľkostí všetkých subfoldrov, podobne ako ja.
- Žiadne riešenie nieje ideálne. Nepoznáme ani presný spôsob použitia. Úplne niečo iné bude ak to chce vypísať do formu (podobne ako ja), alebo do buniek, alebo má foldre v ListBoxe, a pri označení chce niekde vypísať iba veľkosť toho jedného. Možností ma napadá mnoho, dal som jedno (myslím tú prílohu, nie ukážku z Googlu!), ktoré sa žiaľ zaobišlo bez feedbacku, zato sa nezaobišlo bez flamu.

Capnite sem celý súbor s celým makrom. Máte asi jeden master súbor v ktorom to ovládate. Skúste nepoužiť ActiveWorkbook, ale najskôr priradenie súboru do premennej. Záleží aj akým spôsobom to otvárate. Napr. to môžete otvárať v inej inštancii Excelu, a potom Vám je Application.DisplayAlerts = False prd platné, lebo to platí na Application toho Master súboru. Tá inštancia má svoje, napr. xlApp.DisplayAlerts = False. Alebo ten zatvárací kód je priamo v tých otváraných súboroch, a tie sa zatvárajú sami seba ? Prípadne použiť DoEvents... Treba kompletnú prílohu, a nie dávkovanie po jednom riadku z kódu. Dajte sem Master súbor, a 1 zdrojový.

Honza53 : Na začiatku môjho postu píšem "Hneď prvý odkaz na Google:" - tým dávam iba najavo, aké triviálne jednoduché je do 5 sekúnd po dopísaní vyhľadávacieho dotazu (skôr ako napísanie príspevku na fórum) nájsť kostru riešenia zistenia veľkosti adresára. Z nájdenej kostry si má človek zobrať iba čo potrebuje.

Pod touto kostrou som pridal kompletné riešenie celého "problému" s načítaním názvov a veľkostí všetkých podadresárov vo zvolenom adresári do Listboxu vo Forme. Object som vytvoril raz. Pole názvov a veľkosti sa načíta do Listboxu naraz. Nejaké kontroly a hlášky. Iste, dali by sa vypustiť glob. premenné, a procedúru urobiť v Initialize. Všetko má svoje "ale", potom treba myslieť že Initialize nejde exnúť pri nevybraní adresára (možno následne v OnActivate, prípadne v loadnutom Forme cez Button). Pozeral ste tú prílohu?

Má. Pokiaľ sa nechytím rozmerov, všetko funguje ako má. Akonáhle manuálne zmením veľkosť, prestane sa to zobrazovať správne, a začne sa to deformovať. Jednoduché riešenie : nastavte oblasť vyfotografovanej oblasti (alebo prepojenej), a NECHYTAJTE sa jej rozmerov. Nič nikam nenaťahujte. Ak sa toho nechytám, nedokážem nasimulovať tie deformácie. Funguje to aj s manuálnym skrývaním, aj s filtrom. Akonáhle zmením rozmer potiahnutím myšou, už sa to bude deformovať.

No tak podľa mňa to chce iný popis a inú prílohu.
Váhy tam nevidím 0,5 a 0,3 ale 0,452 a 0,291. Rozloženie 50%:50%. Čo je "Kod nový" nesúvisí. Ale "Vyr.kod1" je udávaný v % ? Čo potrebujete v A6:B6 vypočítať ?

PS: Ešte poznámka, ak sa nemajú prepisovať existujúce XLSX, tak výstup nastavte do inej zložky ako doteraz. Lebo urobil som obe metódy tak, aby sa nepýtali a rovno prepísali.

Otázka je, či to potrebujete mať ako samostatné súbory alebo zlúčené spolu, keď robíte potom z toho nejaké KT.

Ak je počet tých súborov naozaj väčší, napr. desiatky či stovky, tak by som použil metódu 2 alebo 3. Obe zbytočne nevytvárajú súbor xlsx pre každý CSV, ale upravia ten predošlý a uložia. Šetrí sa tým čas. A poradia si nielen s "*.csv" ale aj s "*.CSV". Zobrazuje sa v nich priebeh dole v StatusBare. Tá metóda 3, vytvorí druhú inštanciu Excelu, aby nedochádzalo k tomu blikaniu. Testoval som to na 32 súboroch CSV, rôznych veľkostí (700 B - 5,1 MB), a rozdiel v čase je značný.

No ak to má byť spolu, tam potom cez PowerQuery.

Je to iba návrh.

CSV nieje zošit. Nemá žiaden list, a teda ani názov listu. Myslíte to asi tak, aby sa list Excelu, ktorý je vytvorený z CSV, volal tak ako sa volal súbor CSV (bez ".csv" na konci). V tom prípade skúste v procedúre C2X medzi tieto 2 riadky
With ActiveWorkbook
On Error Resume Next

vložiť toto
.ActiveSheet.Name = Left$(Replace(JmenoA, ".csv", ""), 32)

Tipnem si, že stačí v procedúre ImportDat na konci pripísať riadok
ActiveSheet.Name = "Data"

Skôr si myslím, že niečo takéto:
=VLOOKUP(C41&"";INDIRECT("'"&C39&"'!C6:BC32");MATCH(C43;INDIRECT("'"&C39&"'!D5:BC5");0)+1;FALSE)
=SVYHLEDAT(C41&"";NEPŘÍMÝ.ODKAZ("'"&C39&"'!C6:BC32");POZVYHLEDAT(C43;NEPŘÍMÝ.ODKAZ("'"&C39&"'!D5:BC5");0)+1;NEPRAVDA)


Strana:  1 ... « předchozí  143 144 145 146 147 148 149 150 151   další » ... 285

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

Čas od do

lubo • 19.4. 16:30

Makro smyčka

MilanKop • 19.4. 10:46

Makro smyčka

elninoslov • 19.4. 9:02

Čas od do

elninoslov • 19.4. 8:46

Čas od do

jarek1111 • 18.4. 13:46

Čas od do

lubo • 18.4. 11:13

Čas od do

jarek1111 • 18.4. 8:32