Tak aj cieľ naformátuj ako text.
1. metóda cyklus - netreba cieľ formátovať vopred ako text
2. metóda treba vopred cieľ formátovať ako text, pri množstve hodnôt je rýchlejšia, ako prístup po jednom.
Sakra, až teraz som si náhodou všimol, že v tom mojom vzorci som dal o jedno "y" v rýchlosti menej
Takže oprava z
"=CARDS_"&TEXT(Sešit1!A2;"ddmmyyy")
na
="CARDS_"&TEXT(Sešit1!A2;"ddmmyyyy")
ale funguje tak či tak.
V CZ sa "yyyy" zamieňa na "rrrr" tak ako píše "lubo".
Vôbec nejde len o pripojenie sa k tebe na sieťový zdroj. Ide o celý návrh. Ale neva. Skúsil by som súbor najskôr stiahnuť na PC a až potom spracovávať:
Sub DownloadFile()
Dim myURL As String
myURL = "http://sheetsibca.pbworks.com/w/file/fetch/38012029/excel%20lesson%203%20test.xlsx"
Dim WinHttpReq As Object
Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
WinHttpReq.Open "GET", myURL, False, "username", "password"
WinHttpReq.send
myURL = WinHttpReq.responseBody
If WinHttpReq.Status = 200 Then
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Type = 1
oStream.Write WinHttpReq.responseBody
oStream.SaveToFile "Z:\chyba\excel%20lesson%203%20test.xlsx", 2 ' 1 = no overwrite, 2 = overwrite
oStream.Close
End If
' Súbor treba po použiťí Zatvoriť a potom ZMAZAT týmto príkazom
Kill ("Z:\chyba\excel%20lesson%203%20test.xlsx")
End Sub
SUMIFS mi dáva chybu, tak spočítaš 2 SUMIF :
Sub pokus()
' VARIANT 1
With Sheets("Sheet1")
.Range("K13") = Application.SumIf(Sheets("Sheet2").Range("C2:C12"), "=2615100103", Sheets("Sheet2").Range("F2:F12")) + _
Application.SumIf(Sheets("Sheet2").Range("C2:C12"), "=2615100104", Sheets("Sheet2").Range("F2:F12"))
' ostatné obdobné ...
End With
' VARIANT 2
With Sheets("Sheet1")
.Range("K13").Formula = "=SUMIF(Sheet2!C2:C12,""=2615100103"",Sheet2!F2:F12)+SUMIF(Sheet2!C2:C12,""=2615100104"",Sheet2!F2:F12)"
.Range("K13").Value = .Range("K13").Value
' ostatné obdobné ...
End With
End Sub
Možno exituje možnosť vytvoriť a spravovať Objekty Cells či Listy len v pamäti, ale to mi nič nehovorí. Tak ma napadá len použiť kópiu na skrytom liste.
Funkcia CopyRng skopíruje zvolenú Range na skrytý list, kde môže byť upravená a následne použitá.
Skopíruje sa:
-umiestnenie
-hodnoty
-vzorce
-formátovanie bunky
-formátovanie textu
-podmienené formátovanie
-šírka stĺpcov
Ak je treba kopírovať aj výšku riadku, to treba urobiť cez cyklus po jednom.
Inak neviem pomôcť s týmto druhým problémom.
Vytvoril som ti vlastnú funkciu SUMIFS v makre, ktorá funguje tak ako chceš. A funguje aj v makre, aj v zošite.
Asi takto...
Dve verzie:
1. - Stĺpec B aj zoraďuje jedinečné mená (bude logické mať opačne meno->priezvisko)
2. - Stĺpec C iba Extrahuje jedinečné mená
Je to nastavené po riadok č.100. Mená po riadok č. 100 berie zo stĺpca A automaticky (dynamický názov "Ziaci").
Hyperlink do Overenia dať nepôjde. A na čo ti je HyperLink ? Zmeníš jednu bunku a chceš mať na tú zmenenú bunku v upozornení odkaz, aby ťa na ňu dalo ? Veď si na nej, menil si ju. Pri zmene viacerých to takisto nechápem, pretože keď budú 100 riadkov od seba tak ich neuvidíš naraz, po kliknutí na hyperlink jednej z nich (z tých prípadných "0").
Každopádne som ti pripravil niečo takéto:
-Použité je podmienené formátovanie na zvýraznenie 0
-zároveň je kontrola stĺpca s množstvom ks robená aj v makre
-pri zistení nejakých 0, sa urobí zoznam, ktorý ti ich vypíše vo Forme
-po ukončení Formu ostanú všetky 0 hodnoty označené
-vo forme je zoznam, na ktorom keď klikneš na položku, tak ti ju označí
Neviem, ako inak ti pomôcť.
Nemôžeš priložiť nejaké prílohy aspoň z časťou zverejniteľných dát ? To sa takto veľmi ťažko odhaduje. Ten súbor na sieti nemá otvorený iný uživateľ ? Ten Button WODOWN je na ktorom zožite ? V tej komplikovanej spleti Activate - Visible - Cells (bez upresnenia zošita a listu napr cez With) a Select, sa ľahko stane že čítaš data z iného miesta ako chceš.
Pokúšam sa o rekonštrukciu toho, ako to môže u Teba vyzerať, ale fakt sa strácam v odhadovaní čo, ako, a kde.
Chce to proste prílohy.
Niečo som vymyslel, uvidíme, či sa to bude dať použiť.
Nastaví sa aby každých nap 30s prebehla kontrola.
1. Bude sa kontrolovať, či nieje terajší dátum menší ako pri poslednej kontrole - ak áno koniec
2. A teraz to dôležité. Bude sa kontrolovať počet týchto 30s intervalov, ak sa dosiahne maximálny nastavený počet 30s intervalov - tak koniec.
Táto kontrola prebehne ihneď po štarte a potom každých 30s keď je aktívny formulár. Ak aktívny nieje, intervaly sa neprirátavajú, ale zapisuje sa čas (pre porovnanie).
Veľký pozor na skúšanie. Ak by ste prekročili počet intervalov, súbor neotvoríte, ani aby ste to zmenili (iba vyskúšať zmeniť iným súborom bez otvorenia).
Po vyskúšaní, dorobení, nastavení, treba dať list Tick na VeryHidden, zaheslovať makrá. Samozrejme povoliť 2 riadky v Overload() a 1 riadok v Workbook_BeforeClose.
To je zároveň nevýhoda, že vždy musí Workbook_BeforeClose uložiť súbor, kvôli tomu aby nabudúce vedel, koľko Tick-ov (intervalov) už bol Form otvorený.
Je to aspoň podobné tomu čo je v zadaní.
PS: Tú kontrolu času si takmer nevšímajte, je druhoradá.
EDIT: Ešte som urobil malé opravy...
Treba si pozrieť makrá, v samotnom zošite nič podstatné nevidno.
V skratke:
-Prehľadajú sa súbory v zadanom adresári
-Vyhľadajú sa v nich zadané polia a k nim adekvátne hodnoty
-Tie sa zapíšu do sumárneho listu
A ešte verzia so zapínaním a vypínaním Visible, pretože je veľký rozdiel, či ich potrebuješ dynamicky vytvárať a mazať, tak ako píšeš, alebo budú vytvorené permanentne a nemenne, len sa budú schovávať.
Pekný deň.
Mám ti ten kód aj popísať ?
Tým "5.1" si asi myslel zadané číslo 5,1 (rozdiel v zápise Excel/makro - čiarka/bodka)
Prečo CheckBoxy vkladáš do A4,C4,E4 a LinkedCell dávaš nie pod nimi ale A4,B4,C4 ??? Upravil som to.
Toto by malo fungovať aj keď budú na liste iné CB ako tie tebou podmienene vytvorené.
Nastavuje to aj priesvitný formát textu TRUE/FALSE v LinkedCells.
Bude to fungovať, aj keď sa hodnota v B2 zmení inak ako Tvojou rukou, pričom sa uchová predtým použitý výber (Selection).
Celý hlavný problém je v tom, že potrebuješ uložiť niekde mená vytvorených CB Form (Ty nevytváraš CB ActiveX, ale CB Form), ktoré sa stále menia, ktoré budeš mať k dispozícii aj po znovuotvorení zošita (globálna premenná sa použiť nemôže). Ja som použil uloženie mien v Definovanom názve. Ďalšia možnosť je použiť pomocný list, či nejaký TXT súbor.
Žiadaj o prípadnú úpravu.
Iný variant. Kopírovanie cez pole. Pridaná možnosť pridávať riadky do výstupu k tým, čo tam už sú.
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.