Prílohu mi pán poslal mailom, má 1,1 MB tak buď ju kvôli veľkosti nezobralo, alebo ju nechce šíriť (preto ju sem nedám). Každopádne pre druhý krát treba nejakú prílohu priložiť, zjednodušenú, zmenšenú, s odstránenými riadkami, a vymyslenými dátami, stačia predsa 3-4 riadky...
V maili máte odpoveď.
wsListSoubor je tzv. CodeName listu. Vo VBA pri označení listu v projekte, sa dá v Properties prepísať položka Name. Potom je jedno, čo je napísané na úšku listu, vo VBA sa bude volať ten list takto, tzv. CodeName. Ak to nevyhovuje tak zmeňte
With wsListSoubor 'listna
With ThisWorkbook.Worksheets("názov na ušku") 'listAk to má hľadať XLSM, tak zmeniť to "xls" na "xlsm" tu:
If StrComp(FSO.GetExtensionName(FName), "xls", vbTextCompare) = 0 ThenAk to má hľadať viac druhov prípon, musím to upraviť.
Kód stačí potom nakopírovať do hociktorého modulu, a len zavolať makro "Latest_File".
Pozor na umiestnenie zdrojového adresára v bunke B1
FPath = .Cells(1, 2).Value2a výsledného názvu s dátumočasom v B2:B3
.Cells(2, 2).Resize(2).Value2
To si treba nastaviť podľa seba, a ak robí problémy pochopenie súradnicového Cells(riadok, stĺpec), tak použiť Range("adresa")
.Range("B1").Value2
.Range("B2:B3").Value2
Príklad:
Ale ešte upresnite, či to má hľadať naozaj iba XLS, alebo aj XLSX, XLSM, XLSB. Ďalej, či to má byť rekurzívne, teda či má brať do úvahy aj podadresáre.
"\" je iba vo VBA
Na tom sa Vám nič meniť nebude. To nie je vzorec, to je text. Popíšte, čo potrebujete dosiahnuť. Najlepšie prílohou (po zaregistrovaní). Chcete meniť "C"? Alebo "37"?
Tá zdrojová bunka C37 obsahuje Definovaný názov, keď idete cez INDIRECT? Ak nie, prečo nejdete bez INDIRECT, priamo. Potom sa Vám bude meniť. Ale záleží na popise, čo chcete dosiahnuť. Ako píšem, príloha by pomohla...
Skúste pozrieť Súbor - Konto - Možnosti aktualizácie - Aktualizovať. Niekedy mi to robí tiež psie kusy, ak je pripravená aktualizácia.
A máte zapnuté Vzorce - Možnosti výpočtov - Automaticky ?
EDIT: A o aký vzorec sa jedná? Nemá absolútne adresovanie? To Vám jasne že skopíruje to isté.
Ak sa pozriete napr. na Alzu, uvidíte, že tieto verzie sú aj pre Win aj Mac:
Microsoft Office 2024 Home SK (BOX)
Microsoft Office 2024 pre domácnosti (elektronická licencia)
Microsoft Office 2024 Home and Business SK (BOX)
Microsoft Office 2024 pre domácnosti a podnikateľov (elektronická licencia)
https://www.alza.sk/kancelarsky-a-firemny-softver/18860418.htm
Po urputnom boji s Excelom a jeho novými funkciami ako BYROW + LAMBA, MAP + LAMBDA, či MAKEARRAY, aj s XLOOKUP, následne po boji s ChatGPT, že prečo mi to nejde, a jeho nezmyselnými radami, sme nakoniec spoločne dospeli k jednému funkčnému jednovzorcovému riešeniu.
=LET(
FLT; ISNUMBER(MATCH(KODA; KODB; 0));
KODY; FILTER(KODA; FLT);
FDA; FILTER(DATAA; FLT; "");
IDXB; XMATCH(KODY; KODB; 0);
FDB; INDEX(DATAB; IDXB; {1\2\3});
HSTACK(KODY; FDA; FDB)
)
Definované názvy:
DATAA:
=TAKE(VSTUPA;;-3)
DATAB:
=TAKE(VSTUPB;;-3)
KODA:
=TAKE(VSTUPA;;1)
KODB:
=TAKE(VSTUPB;;1)
VSTUPA:
='Vstupy A'!$A$1:.$D$1000
VSTUPB:
='Vstupy B'!$A$1:.$D$1000
Predpoklad je, že každý kód bude v liste iba raz.
EDIT:
Ešte som vzorec trošičku pozmenil aby bol pochopiteľný.
Aha, no ja som mal na mysli reálnejšiu prílohu s viac možnými eventualitami. Každopádne aj z tejto je vidno aspoň to, že "do vedľajších riadkov" v skutočnosti znamená "do vedľajších stĺpcov".
Takže dám zopár otázok, čo ma hneď napadne len tak z brucha :
-Dáta majú vždy rovnaký počet stĺpcov? Teda 3?
-Ak nie, posúvajú sa vyplnené vľavo, alebo ostávajú prázdne bunky?
-Verzia Office na ktorej to bude bežať?
-Ak je to starší Office, a odpoveď na 2. otázku je ÁNO, je možné pridať pomocné riadky (napr. aj na skrytý list)?
-Jedná sa iba o jeden, teda 1. riadok, alebo pôjde nakoniec o viac riadkov s rovnakou funkcionalitou?
-Ak ide o viac riadkov, tak relevantné dáta sú v zdrojových listoch na rovnakých riadkoch, alebo XYZ môže byť v jednom liste na 1. riadku v inom na 5. ?
-V tých vstupných bunkách sú vzorce alebo hodnoty?
-Vo výstupných bunkách majú byť vzorce alebo hodnoty (to jedine makrom)?
-Čo sa bude s výstupom potom diať? Budete ho chcieť potom nejako upravovovať?
Ten popis je taký nejaký nejasný. Priložte prílohu.
Skúste:
=SUMPRODUCT((H4:H50="EUR")*((K4:K50="faktúra")+(K4:K50="zjednodušená faktúra")>0)*SUBTOTAL(9;OFFSET(G4;ROW(G4:G50)-ROW(G4);;1)))
=SOUČIN.SKALÁRNÍ((H4:H50="EUR")*((K4:K50="faktúra")+(K4:K50="zjednodušená faktúra")>0)*SUBTOTAL(9;POSUN(G4;ŘÁDEK(G4:G50)-ŘÁDEK(G4);;1)))
Office 2019 sa mi zdá, že ešte nevedel automatické maticové vzorce, tak ak to nebude po ENTER fungovať správne, tak dajte Ctrl+Shift+Enter. V neskorších verziách už vzorec "zmaticovie" automaticky.
Bez prílohy? Bez makra? Bez hlášky? Bez verzií?
...
Podľa mňa je odpoveď: 42
Triviálne, máte to v maily.
Odomknúť to nie je problém, ale heslo mi to nezobrazí.
Asi sa jedná o xlsm. Prílohu treba zabaliť do ZIP. Ale ako vieme, že ste autorom? Bol zošit FREE ?
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.