Ahoj. U toho druheho kodu nejak nie som schopny pochopit ten cyklus
For i = 1 To 3
.ColumnWidth = w / .Width * .ColumnWidth
Next i
Konkretne: preco sa to opakuje 3 krat?
Nema tam byt pic.Width v menovateli?
Pozeram na to v mobile, nesedim u excelu, takze nemam moznost otestovat. Ale nejak si nedokazem predstavit, co to ma robit? Preco 3 krat..
Karle, za F5 chválim. V jednoduchosti je krása. :)
Napadlo ma, že pokiaľ sa nastavuje zamknutie pomeru strán až po tom, čo je obrázok už vložený, nemusí to fungovať, pretože bude zamknutý pomer strán až už zdeformovaného obrázku. Nasledujúci tip považuj za výstrel do tmy:
Skús vložiť tú inštrukciu i pred riadok kódu s inštrukcioupic.DeleteEšte by sa dalo skúsiť nahradiť konštantu msoTrue za TRUE. Inak už tiež neviem, i hore uvedené je bez záruky. Ako píše kolega, skús odkrokovať makro, to už som tiež navrhoval v jednom z minulých príspevkov..
O.k. ďakujem, budem na to myslieť :). Ja si spomínam, že pred nejakou dobou v nejakom scripte som to musel tiež nastavovať priamo v kóde. Ale poznáš to, čo nedokážeš nasimulovať, to sa ladí ťažko..
@kristv
dobrý tip :)
Teraz som vyskúšal. V 2016 stačí kliknúť na tie dáta v schránke, odpadá dokonca i medzikrok s odstránením pravidiel..
@Anymen
To je zaujímavé. Sedím teraz pri služobnom notebooku. Vložím nejaký úplne iný obrázok do sheetu, a pomer strán mám zamknutý automaticky. Kód som tvoril na privátnom stroji a keďže obrázok nedeformovalo, tak predpokladám, že tam to bolo nastavené rovnako. Predpokladám teda, že sa jedná o defaultné nastavenie v 2016. V tých 2003 je to možno inak. Alebo si Excel pamätá, ako to užívateľ nastavil v minulosti - akurát nikde v možnostiach nastavenia nevidím možnosť defaultne zmeniť na odomknutie pomeru strán (vo vlastnostiach konkrétneho obrázku samozrejme áno). Každopádne, určite nie je na škodu do makra pridať tú tvoju inštrukciu, minimálne z dôvodu, aby bola istota, že pomer strán zostane zamknutý.
If Cells(i, 16) = 0 Then Cells(i, 14) = 0 Else Cells(i, 14) = Cells(i, 15) / Cells(i, 16)
Hoci si nemyslím, že kompatibilita by mohla v tomto prípade hrať úlohu, istotu nemám. Na 2003 nemám možnosť otestovať a hľadať zdokumentované problémy kompatibility fakt nebudem. Ten kód nie je nijako zložitý, keby som sedel u 2003, tak by som si ja kód odkrokoval a hľadal v kóde miesto, kde to nefunguje podľa predpokladov.
Žiadny nový súbor som nevytváral. Použil som tvoju prílohu, makro som písal priamo do nej.
Mne nie.
5/11 19:44 som odpovedal. Odpověď naďalej platí.
Môj kód obrázky nedeformuje, naopak zachováva pomer strán. Práve z toho dôvodu, že obrázky nie sú rovanko veľké. Čo som myslel optimalizáciou, som už napísal, dvakrát. Napíšem teda ešte raz: výšku, šírku a jeho pozíciu voči bunke "pod ním", je možné stanoviť na začiatku. Nemusí to prebiehať 11x4 krát v cykle. Stačí raz, uložiť obrázok s takto zisteným rozmerom do prvej bunky (on nie je v bunke, ale "nad ňou", aby som bol presný) a potom v cykle rozkopírovať do ostatných.
Pokiaľ chceš, aby obrázok svojim rozmerom odpovedal rozmerom bunky, je treba upraviť rozmery buniek - dať im rovnaký pomer výšky a šírky, v akom pomere je výška obrázku ku jeho šírke (a k výške a šírke bunky potom ešte pridať nejakú malú hodnotu, povedzme 6, aby boli vidieť okraje/obrysy buniek).
Nič z hore uvedeného ale už písať nebudem, ako cvičenie mi stačilo doteraz vytvorené.
Tvoje vyjadrenie nie je presné. Výška, šírka a pozícia obrázkov je nastavená korektne. Ja som zmieňoval, že by to šlo v makre nastaviť na začiatku, mimo cyklus. Následný cyklus by potom bežal rýchlejšie.
Ešte poznámka: Pokiaľ mažeš príspevky, či ich časti, po tom, čo na ne bolo reagované, tak tie reakcie nedávajú zmysel. Každý má právo na omyl a samozrejme, so svojimi príspevkami si môžeš naložiť podľa vlastného uváženia. Mala by si však zvážiť, či tým z osôb, ktoré ti radia, nerobíš oslov. Môže sa ti potom ľahko stať, že na svoje otázky v budúcnosti už žiadnu odpoveď nedostaneš.
Nemáš zač, poznámka k MIN a MAX sa týkala príspevku, ktorý chrobáčik zmazal :)
presne tak, ale v prílohe mala obrázky na liste, nie v UF.
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.