Možností je mnoho
Niekto tu mal pred chvíľou tému na uloženie kópie zošitu bez makra a tlačítka. Skôr ako som to odoslal, téma zmizla.
Len doplním:
Nerobte SaveCopyAs, zostane tam tlačítko, musíte to znova otvárať a mazať...
Urobte to takto - skopírujte iba list (listy). Je to určo rýchlejšie.
Takže spracovať len tie riadky, v ktorých je označená bunka v B, alebo tie ktoré majú hocikde v riadku označenú bunku (A:M)?
Súbor obsahuje na celkový súčet makro. To Vám v telefóne určite nepôjde, ale urobí sa to vzorcom. Ďalej špecifikujte čo presne znamená pre Vás otočiť na výšku. Koľko zamestnancov potom bude na šírku? V tomto prípade boli asi na oddelenia rozdelení, Vy to tak máte tiež? Môže byť smena cez polnoc? Aké sú pravidlá, kedy sa ráta začiatok rannej a koniec nočnej? O 6:00? Takýchto prípadov tu už bolo mraky, a vždy je s tým problémov hafo ...
@Jano5 : V Lugr-ovom kóde je ale stále meno PC
...
PCN = objNetwork.ComputerName
...
Skúste najskôr tie najjednoduchšie možnosti:
CESTA = "C:\Users\" & Environ("username") & "\Documents\MEGA\import\Report\"
alebo
CESTA = "C:\Users\" & CreateObject("WScript.Network").UserName & "\Documents\MEGA\import\Report\"
Ale to problém môže nastať aj inde. Uživateľské adresáre ako napr. "Dokumenty" nemusia byť len v "Users\meno\Documents\", ale napr. ja ich mám na "D:\Dokumenty\"
Mrk sem
Viete o tom, že tá časť za "Users" NIEJE názov PC ale názov užívateľského účtu na PC?
Každopádne Lugr-ove riešenie môžete zakomponovať jednoduchou úpravou jediného riadku
CESTA = "C:\Users\" & CreateObject("WScript.Network").ComputerName & "\Documents\MEGA\import\Report"
EDIT:
Neskúšam, ale len od pohľadu Vám to nemôže fungovať. Za cestou Vám chýba lomítko. V opačnom prípade bude názov súboru začínať "ReportReport ..."
Opäť nejasný dotaz.
Chcete kopírovať skutočne iba hodnoty (výsledky vzorcov) alebo aj vzorce?
Ak aj vzorce, tak tie vzorce odkazujú iba na ten konkrétny zošit v ktorom sa nachádzajú, alebo aj na iné zošity?
Takéto kopírovanie iba makrom.
Nemôžete kopírovať celé listy? (ručne)
Nemôžete kopírovať celý zošit? (ručne)
...
Nejasné...
Viete, že je to dosť riskantné?
Skúšať VÝHRADNE NA KÓPII CELÉHO ADRESÁRA !!!
Ak je tých súborov viac, je výhodné použiť novú inštanciu Excelu. Približne takto. Je tam nejaká kontrola zle zadaného stĺpca, neexistujúceho listu. A to som tam ešte nedal kontrolu, či je súbor už otvorený, a či pri ukladaní nedošlo k chybe. Počet vecí, na ktoré treba myslieť je veľa...
Private Sub CommandButton1_Click()
On Error Resume Next
ActiveSheet.Range("A1").Value = DateValue(Replace(TextBox6.Text, ".", "/"))
If Err.Number <> 0 Then MsgBox "Nie je zadaný dátum!", vbCritical, "Chyba !"
On Error GoTo 0
End Sub
Nevysvetlil ste to dostatočne. Takže potrebujete vypísať pod seba všetky dátumy, ktoré obsahujú či už "T" alebo "S"? Tak potom takto. A čo sa týka fnc FILTER, nemám Office 365/2021, taklen tipnem:
=FILTER($C$4:$AG$4;($C$3:$AG$3="T")+($C$3:$AG$3="S")>0;"")
Akú máte verziu Office? Kam sa majú vypísať tie dátumy? O koľko asi ide väčšinou dátumov na výpis? Oblasť C3:AG3 sa rozširuje?
Ak nemáte funkciu FILTER (Office 365, 2021), tak matica na vopred určenej oblasti:
Môžete priložiť taký súbor na ukážku? Ale bez zmien. Ide napr. o to, či je to ANSI alebo UTF-8, či sú vedľa v riadku iné stĺpce, a pod. ...
Dá sa to aj bez makra pomocou PQ (PowerQuery). Aká verzia Excelu to bude vykonávať (číslo a jazyk)? Všetky súbory sú v rovnakom adresári? "Čísla" s bodkou treba prevádzať na čísla s čiarkou?
Edit:
Príklad oboch variantov v prílohe.
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.