Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  15 16 17 18 19 20 21 22 23   další » ... 289

sDir
E:\Download\/data-int-tank/
Cesta na HDD obsahuje "\" a online cesta obsahuje "/".
Následne výraz
sDir & "\*.xlsx"
obsahuje
E:\Download\/data-int-tank/\*.xlsx
Sranda, že kód napriek týmto očividným chybám s lomítkami v E2021 prejde 1

Sub zaloha()
Dim ADR As String

If MsgBox("Chcete provést zálohu před načtením dalších dat do souboru?" & vbNewLine & "Vytvoří se záložní soubor" & vbNewLine & "a uloží do vámi zvoleného umístění, " & vbNewLine & "Doporučuji!" & vbNewLine & "Soubor bude pojmenovaný dd-mm-rrrr-hh-mm-ss." & vbNewLine, vbExclamation + vbYesNo) = vbYes Then
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = -1 Then ADR = .SelectedItems(1)
End With

If ADR = "" Then MsgBox "Nevybrali jste umístění pro zálohu." & vbNewLine & "Záloha neproběhla !", vbExclamation: Exit Sub

ThisWorkbook.SaveCopyAs ADR & "\" & Format(Now, "dd-mm-yyyy-hh-mm") & "_" & Environ("UserName") & ".xlsm"
End If
End Sub

sKod = List1.Range("B1")
List1 je ale list "view".
Ak myslíte cestu čo je na liste "procedure" v B1, tak ten je List7.
Ďalej neskúmam, nemám zdroj...

Nemám tu teraz CZ Office, ale skúste namiesto "názevsouboru" použiť "filename". Myslím, že to pôjde aj v CZ Office, lebo naopak bude asi problém v iných jazykoch použiť "názevsouboru". Skúste to overiť pls.

Taká hračička 1
Snažil som sa obsiahnuť všetky možné situácie, čo by mohli nastať - viď komentáre v bunkách.

To bude záležať na konkrétnom prípade štruktúry dát. Ak si chcete zamotať hlavu, tak napr. tu riešia kombinácie KT, ListObject, PivotCache, Connection, QueryTable ...
Ak pre Vašu štruktúru dát (prepojenia, dotazy, kt, ...) funguje cesta najmenšieho odporu - RefreshAll, použite ju. Je to schodnejšie, ako zbytočne hľadať prečo sa KT obnovila skôr ako jej zdroj (teda sa tým pádom neaktualizovala), ak Vám to nerobí.

RefreshAll obnoví všetko, druhé makro iba QueryTables. Napr. v tom Vašom súbore wall fuel_format.xlsm nie je ani jediná QueryTables, ale obnoviť dáta cez Obnoviť všetko trvá 3 s.

Dajte si BreakePoint na tento riadok
qt.Refresh BackgroundQuery:=Falsea zistíte, že sa tam makro ani nedostane.

Nebudete predsa spúšťať 74 makier, alebo písať 74x ten istý úryvok kódu. Treba použiť cyklus. Názvy tých súborov máte niekde v zošite uložené aj s heslami?

Takto?ThisWorkbook.RefreshAll

Skúste toto, ale podľa komentárov bude záležať na konkrétnej kombinácii Win+Edge+32/64bit+Office.

Tak včera som sa k tomu nedostal vôbec. Dnes som prispôsobil iba PQ. Prispôsobovať to moje makro sa mi dnes už asi nechce...

Ja som si pre Vás nachystal zatiaľ 3 verzie.
- PQ so zavislosťou na stĺpcoch
- PQ nezavislé na stĺpcoch
- VBA zavislé na počte stĺpcov

VBA verziu nezávislú na počte a názvich stĺpcov som začal rozpracovácať.

VBA je rýchle, ale podľa mňa je pre Vás aj na pochopenie lepšie PQ. Keď prídem, pošlem, a uvidíte, že zložitosť PQ kódu je 20% oproti VBA. Aj keď to je zasa rýchlejšie.

No uvudíme.

Čo myslíte tým, že PQ hádzalo chyby pri doplnení súborov? To predsa nemôže byť problém pre PQ, dáte iba Obnoviť Tabuľku. Ibaže by "zmena" znamenalo niečo iné ako pridanie dát do súborov, pridanie súborov s rovnakou štruktúrov a pod. Napr. zmena hlavičiek, názvu listu, počtu listov (aj iné názvy), nesúrodý počet stĺpcov, neexistujúce hodnoty, prázdne tabuľky a pod.

Pre makro to tiež nebude problém (bez otvárania). Stačí použiť, ako to ja nazývam, "dolovacie vzorce". Hromadná príprava a vloženie poľa vzorcov na bunky a prevod na hodnoty. Je potrebné vedieť, podľa ktorého stĺpca sa určuje počet riadkov, a či sú medzi dátami v tom stĺpci medzery a ich formát. Rozsah dát sa potom (bez otvorenia) vypočítava iným vzorcom.

Teda --> príloha.

Celý koncept logovania zmien do iného Excel súboru je čisto nereálny. Pri každej zmene bunky sa otvára súbor, vkladajú hodnoty (ešte aj to nešťastným spôsobom po jednej), súbor sa uloží a zavrie. Môžete mať akokoľvek rýchly PC, toto bude v sekundách pri každej zmene. Navyše nepočítate s reálnou možnosťou zmeny viacerých buniek naraz.

Schodnejšie by bolo rýchle ukladanie do TXT súborov. A tie by sa hromadne načítali cez PQ v kontrolnom súbore.

EDIT:
Napadlo ma ešte, jedine, že by sa vytvorila nová skrytá inštancia Excelu, a ten kontrolný súbor by bol v nej otvorený, potom by bolo logovanie rýchle. Ale ten kontrolný súbor by sa potom nedal otvoriť, pokým by nebolo nejako vyvolané jeho skryté zatvorenie (nap. ukončením pôvodného zošitu, alebo tlačítkom, a apod.)

???
Čože???
Aká prvá verzia to vloží ako hodnoty?
Veď obe verzie makra vložia do bunky výslednú hodnotu.

Čo chcete aby bolo vo výslednej bunke?
-výsledná hodnota z $J$1:$AW$1 podľa nájdeného indexu J4:AW4<0 (alebo "No Shortage")
-vzorec "=IFERROR(INDEX($J$1:$AW$1;POZVYHLEDAT(PRAVDA;J4:AW4<0;0));"No Shortage")"
???

Chcete aby makro vložilo do bunky vzorec?
Sub Makro3()
wsList.Range("M7").FormulaArray = "=IFERROR(INDEX($J$1:$AW$1,MATCH(TRUE,J4:AW4<0,0)),""No Shortage"")"
End Sub


Strana:  1 ... « předchozí  15 16 17 18 19 20 21 22 23   další » ... 289

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

Týden v roce

Petr92 • 16.7. 15:34

Řazení podle času v kategoriích

veny • 16.7. 11:34

špatný výpočet ze zisku - příčina?

Anonym • 12.7. 22:56

špatný výpočet ze zisku - příčina?

Jakoby • 12.7. 12:35

Řazení podle času v kategoriích

Marekh • 12.7. 9:55

Porovnávací Tabulka

Jess • 8.7. 20:49

Vzorec pro zkopírování obsahu buňky.

veny • 6.7. 8:28