Len info pre ostatných, ak by mal niekto podobný problém. Prišli sme na to, že problém nastáva pri kopírovaní CZ diakritiky. Konkrétne písmeno "ř" sa mení na znak priemeru "ø". Po ošetrení sa zdá, že nám to fachá.
Ale kontrolovať to nejdem...
Pridané riešenie PQ
Dnes ma neskutočne bolí rameno. Človek by neveril, ako hýbe ramenom pri prekladaní ruky z myši na klávesku. Ak to nepovolí, nerobím dnes ani prd ... sorry.
Vy makrom navyšujete alebo ponižujete hodnotu v bunkách. To nepôjde. Odkazovali by samé na seba - zacyklený odkaz. Neviem, či je možný na webe iretačný výpočet. Ak aj áno, je s tým naprd práca. Ľahko prídete o hodnotu.
"On Error Resume Next" som použil naschvál, kvôli tomu aby som sa o prípadnej chybe dozvedel, a dal ju najavo zvýraznením. Naproti tomu Val() bude chybu ignorovať. Viac riadkov kódu má svoje výhody. Z čoho vyplýva, že programovať robustný SW je vždy zložité, takže zabudnite na jednoriadkové všemakro na obsluhu TextBoxov pri použití na to, na čo neboli navrhnuté - na počítanie.
A tým sa dostávam k otázke: Prečo nemôžete použiť v Exceli jeho základnú funkcionalitu, na ktorú bol navrhnutý - počítanie v bunkách ???
50 TextBoxov má navzájom interagovať?
Private Sub TextBox2_Change()
Pocet_Prac_Hod
End Sub
Private Sub TextBox3_Change()
Pocet_Prac_Hod
End Sub
Sub Pocet_Prac_Hod()
Dim Vysledok As String
On Error Resume Next
Vysledok = TextBox2.Text * TextBox3.Text
TextBox4.Text = Vysledok
TextBox4.BackColor = IIf(Err.Number = 0, vbWhite, rgbOrange)
End Sub
Skúste sa zaregistrovať a priložiť prílohu, páč neviem, čoho chcete dosiahnuť ...
Private Sub Worksheet_Change(ByVal Target As Range)
Dim StartDate As Date
With ThisWorkbook
StartDate = CDate(.Worksheets("Hárok2").Range("I2").Value)
With .SlicerCaches("NatívnaČasováOs_Dátum").TimelineState
If .EndDate < StartDate Then MsgBox "Štart je väčší ako Koniec", vbExclamation: Exit Sub Else .SetFilterDateRange StartDate, .EndDate
End With
End With
End Sub
?
Sub AMU_1() ' AMU_1 Makro
With Worksheets("DATABAZE ZAMESTNANCU")
.Unprotect Password:="pekarna"
With .ListObjects("Tabulka1")
'vyfiltruje iba to, čo končí na *AMU1
.Range.AutoFilter Field:=4, Criteria1:="=*AMU1", Operator:=xlAnd
With .Sort
.SortFields.Clear
.SortFields.Add2 Key:=Range("Tabulka1[[#All],[příjmení, jméno]]"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
.Protect DrawingObjects:=False, Contents:=True, Scenarios:=False, AllowFormattingCells:=True, AllowSorting:=True, AllowFiltering:=True, Password:="pekarna"
End With
End Sub
V tomto súbore "ZoradenieLog.xlsm" som pridal 2 makrá na Log.
makro VytvorLog
makro XLog
a na začiatku premennú
Dim Subor As String
V tomto mojom skúšobnom súbore to teda je nastavené, ale chcem od Vás:
-vytvorte si kópiu toho Vášho súboru
-otvorte ju, a skontrolujte či 1 dátový riadok Tabuliek neobsahuje citlivé info (RČ, meno, mail, telefón, adresa). Ostatné riadky okrem hlavičky a 1. riadku Tabuliek, nebudú do logu zahrnuté, ani iné dáta mimo Tabuliek (objekt Tabuľka). Tieto citlivé dáta zmeňte, ale tak, aby presne zodpovedali forme predchádzajúcich, veľké malé písmená, formát číslo, text, dĺžka, počet medzier (s medzerami vôbec nehýbte, nemažte, neprepisujte, iba ich obíďte kurzorom, teoreticky môže byť chyba aj v nesprávnych medzerách Alt+0160 vs Alt+032), nemeňte vzorce, neredukujte dáta, ani nevymazávajte celé bunky, riadky, stĺpce.
-vložte na začiatok do modulu makier tú deklaráciu premennej
Dim Subor As String
a na koniec modulu makier vložte tie 2 makrá VytvorLog a XLog
-takže máte 2 súbory s tými novými makrami (VytvorLog, XLog), teda súbor "ZoradenieLog.xlsm" a kópiu Vášho súboru.
-v oboch súboroch spustite makro "VytvorLog", pričom dajte pozor, z ktorého modulu ktorého súboru makro spúšťate. Nepomýlite sa, ak bude otvorený vždy iba 1 súbor.
-spustenie je nevyhnutné urobiť na oboch PC, teda aj na tom s Office pre domácnosti, kde to šlo, aj na tom s Office Enterprise.
-pri každom súbore vznikne textový log tam, kde sa súbor nachádzal, a to v takomto tvare:
Log_13.02.2023_09_17_24_Zoradenie.xlsm.txt
-takže dokopy budú 4 txt logy.
-tieto logy, si ešte pozrite, či v nich nie sú citlivé dáta, a pripadne opakujte od kroku s úpravou dát v 1. dátovom riadku
-tie 2 logy, ktoré sú z Enterprise, ešte označte na začiatku názvu "E_...názov súboru"
-tieto 4 logy mi pošlite, či už ich spolu zabalíte, alebo pošlete v 4 postoch, alebo mi ich hoďte na mail (mám ho v info v profile).
Nechcem do toho Lugr-ovi kecať, ale jediné riešenie toho magical word "niekedy" je - priložiť tie prílohy, počas ktorých to nastane. Dôvodov sú mraky, vypisovať ich všetky nebudem...
Narýchlo som omrkol Lugr-ovo riešenie (14.7.2022 16:31), a na prvý pohľad okrem maličkostí, tam nevidím dôvod nefunkčnosti. Ale vymýšľať si, a prispôsobovať tomu rôzne varianty dát, ktoré môžu nastať, sa mi nechce.
Vyskúšal som zatiaľ verziu môj PC vs. Virtual PC.
-Na oboch som prihlásený do toho istého MEGA konta
-Na oboch mám v dokumentoch vytvorené zložky
...\MEGA\import\Report\
-Túto zložku
...\MEGA\
mám nastavenú na synchronizáciu v MEGA aplikácii
-To znamená, že pri zmene súboru na jednom PC, sa mi táto zmena synchronizuje s MEGA, a prejaví sa aj v druhom PC.
-Aby to nebolo také jednoduché, tak mám na jednom PC zložku Dokumenty
D:\Dokumenty\
na druhom PC
C:\Users\Elnino\Documents\
-Pri použití tohto kódu
CESTA = CreateObject("WScript.Shell").SpecialFolders("mydocuments") & "\MEGA\import\Report\"
dostanem na jednom PC
D:\Dokumenty\MEGA\import\Report\
na druhom PC
C:\Users\Elnino\Documents\MEGA\import\Report\
-TAKŽE JE TO VŠETKO SPRÁVNE, a netuším, čo stále riešite s tými kontami, ktoré Vás skutočne nemusia trápiť !!!
-Jedine, že by ste to nemali tak, ako ste popísali. Pretože to asi nepopisujete presne. Prejdite si zarážku po zarážke, čo som teraz napísal, a čeknite, či to máte tak isto.
Áno v rýchlosti 2 chyby. Ak by ste sa poriadne pozrel na vzorec, tak na to prídete (tiež som to poriadne neskontroloval).
1. Všetky odkazy musia ísť na rozsah riadkov 10:30, nesprávne som dal omylom 11:30.
2. V zhone som nezadal správne absolútne odkazy na riadok v súčtoch obchodníkov. Takže v prvej bunke nemá byť K10 ale K$10.
Upravte vždy iba prvú bunku a vzorec rozkopírujte.
Úprava oboch verzií aj s ošetrením prevodu textu na číslo.
Office 2017 neexistuje (...,XP,2003,2007,2010,2013,2016,2019,2021,365). Od 2007 je k dispozícii objekt Tabuľka (ListObject niekedy označovaná ako ObjectTable alebo ExcelTable). Ponúka rôzne výhody, ako napr. rýchle filtre, automatické oblasti, automatické naťahovanie vzorcov a formátov,... v Hárok2 spolu s KT.
Makro by som asi aj vynechal. Veď zadajte údaje na koniec Tabuľky, a hore vo filtri dajte zoradiť Z-A dátum. Ale aj to iba pre Váš vizuál, KT a vzorcom súčtov je to šumák.
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.