Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  17 18 19 20 21 22 23 24 25   další » ... 70

Ahoj, díky za reakci a zformulování otázky a odkaz. 1
Jak bude chvíle času tak se v tom pošťourám.
Jak už sem psal, jedná se pouze o zvědavost. Vlasně sem to neviděl nikde, ať už se jedná ofóra o VBA či knihy českých nebo zahraničních autorů (walkenbach).

Včera sem procházel jednu z jeho knih a toto "(neviem posudit, nie som si isty, nakolko viac bodiek v kode by teoreticky malo kod spomalit)" tam právě zmiňuje a nabádá k použití WITH...END WITH.
Takže máš pravdu!

Jiri-Harazim napsal/a:

Milý Stalkere. Poslechl jsem tě a v klidu jsem se nadechl. Jsi nejspíše velký znalec a jinými "pitomci" pohrdáš. Měj se hezky a zamysli se nad sebou.

NE NEPOSLECH! Já psal: Pokud chceš radu, tak se v klidu nadechni, přečti si po sobě co jsi napsal, protože to co Jsi napsal má informační hodnotu 0 (Nula). Pokud by byla součástí příloha tak držím hubu.
Moje první reakce, kterou sem ale neodeslal byla:
1)Ano
2)Svyhledat
A pevně věřím v to, že by si z toho měl zase nějaký mindrák.

v rozevíracím seznamu, který je v buňce J9 vyberu např. jméno, tak chci, aby se mi do buňky J10 vypsal telefon, do buňky J11 adresa a do J12 email.

Opět si nenapsal odkud se mají uvedené hodnoty vzít!
1) ze vzduchu
2) z jiné oblasti téhož listu
3) z jiného listu téhož souboru
4) z úplně jiného souboru
........

Musíš si uvědomit, že do hlavy ani na monitor Ti nikdo nevidí. Prostě si sem hodil zadání jak psovy kost. A pokud mi chcete někdo poradit, tak pěkně poproste o přílohu?!

To že tu některé kluky vytáčí, že se neustále opakují banální dotazy na naprosté základy, které se učí i děcka na ZŠ, mě nějak nevadí a pokud mám čas tak odpovím. Ale už mě opravdu nebaví se neustále doprošovat nad smysluplným zadáním a přílohou.

To, že je místní Chuck Norris Excelu alias Elninoslov schopen poskytnout řešení (funkční!) na naprosto nesmyslné zadání nebo zadání, které odporuje příloze, pokud je tazatel ji vůbec shopen přiložit je věc jiná.
Tento stav si můžeš sám ověřit po přečtení několika dotazů. Opravdu netuším, jak to kčertu dělá (nejspíše zdědil jedinou funkční křišťálovou kouli ve střední evropě).
Ale můžu Tě ujistit, že s touto schopností je tu JEDINÝ.

Nebude trvat dlouho a bude to tu vypadat JAKO ZDE
Mimochodem, co by jsi poradil na takovýto dotaz?
Protože s tou informační hodnotou to vychází nastejno!

Všechno jde, když se chce. Pokud chceš radu, tak se v klidu nadechni, přečti si po sobě co jsi napsal a zkus to znovu s přiložením vhodného vzorového souboru.

Ahoj, nenám žádný problém k řešení, jen spíše ze zvědavosti. Narazil sem na youtube na video o fci dir ve VBA.

Co mě upoutalo, byl zápis
FileName = VBA.FileSystem.Dir("C:\Users\..........")
If FileName = VBA.Constants.vbNullString Then

Vždiť pro stejnou funkčnost stačí:
FileName = Dir("C:\Users\..........")
If FileName = vbNullString Then

Používáte někdo tento způsob zápisu, nebo pužíval? Na zdejším fóru sem na nic takového nenarazil, a ani několik knih o VBA, které tu mám níc takového neuvádějí.

Má vůbec takovýto zápis nějaký benefit např. rychlost?
Zkoušel sem googlit, ale nic kloudného sem nenašel Možná jen neumím formulovat otázku.

Díky za Vaše poznatky 1

marjankaj napsal/a:

Stalker napsal/a:marjankaj napsal/a:RESIZE je zbytočné. A je jedno ktorý list bude aktívny.
Otestuj si přiložené soubory a uvidíš
To je tak, keď máš zlé makro.
Písal som, že tam má byť cesta
Sub b()
Workbooks("zdrojSesit.xlsm").Worksheets("zdrojList").Range(Workbooks("zdrojSesit.xlsm").Worksheets("zdrojList").Cells(1, 1), Workbooks("zdrojSesit.xlsm").Worksheets("zdrojList").Cells(122, 34)).Copy _
Workbooks("cilSesit.xlsx").Worksheets("cilList").Cells(1, 1)
End Sub
Vyskúšaj toto.


OK máš pravdu, funguje naprosto stejně jako s RESIZE !

Ale teď mi řekni v čem je tento zápis lepší
Workbooks("zdrojSesit.xlsm").Worksheets("zdrojList").Range(Workbooks("zdrojSesit.xlsm").Worksheets("zdrojList").Cells(1, 1), Workbooks("zdrojSesit.xlsm").Worksheets("zdrojList").Cells(122, 34)).Copy _
Než použití resize ?
Workbooks("zdrojSesit.xlsm").Worksheets("zdrojList").Cells(1, 1).Resize(122, 34).Copy _

Ono to s délkou kódu není jako s penisem, čím delší tím lepší. 2

Prostě způsob zápisu s využitím resize je pro moji osobu daleko čitelnější a jednodušší jak k zápisu, tak k případné editaci.

Vše teď záleží na tazateli, jakou formu zápisu si zvolí.

marjankaj napsal/a:

RESIZE je zbytočné. A je jedno ktorý list bude aktívny.

Otestuj si přiložené soubory a uvidíš 1

marjankaj napsal/a:

Keď tak na to pozerám stačilo vyhodiť ten RANGE.
Workbooks(zdrojSesit).Worksheets(zdrojList).Range(Cells(1, 1), Cells(122, 34)).Copy _

Workbooks(cilSesit).Worksheets(cilList).Cells(1, 1)


Jak se to vezme.
Ano kód bude funkční, ale pouze za předpokladu, že zdrojový list bude aktivní.

V případě cells(1,1).resize .....
na tom nezáleží
viz soubory

marjankaj napsal/a:

Stalker napsal/a:Pokud chci vybrat oblast dá se použít tento zápis Range(Cells(1, 1), Cells(122, 34)), i když bych spíše volil
Range("A1").Resize(122, 34)
nebo
Cells(1,1).Resize(122, 34)

Nebo si stojím na vedení?
A skúšal si to? Tiež by to malo hodiť chybu.


Zkoušel a projde bez problému, ani nemusí být aktivní zdrojový list.

Sub qq()
Workbooks("zdrojSesit.xlsm").Worksheets("zdrojList").Cells(1, 1).Resize(122, 34).Copy _
Workbooks("cilSesit.xlsx").Worksheets("cilList").Range("A1")
End Sub

Začátečník napsal/a:


náhradou Range("A1:AH122") za Range(Cells(1,1),Cells(122,34))) zhavaruje?
Range(Cells(1,1)) není až taková zhovadilost, ale souhlasím, postačuje Cells(1,1)


Protože Range(Cells(1,1),Cells(122,34)) projde a zhavaruje to právě na Range(Cells(1,1))

marjankaj napsal/a:

No ja tento zápis používam a funguje. Má to využitie v cykloch. Iba v tomto prípade s COPY to nefunguje.


Jakože používáš např Range(Cells(i,1)) ?

No není mi jasný proč bych měl jednu buňku tedy např. cells(1,1) ještě balit do range? Vždiť stačí uvest jen cells(1,1).

Pokud chci vybrat oblast dá se použít tento zápis Range(Cells(1, 1), Cells(122, 34)), i když bych spíše volil
Range("A1").Resize(122, 34)
nebo
Cells(1,1).Resize(122, 34)

Nebo si stojím na vedení?

Začátečník napsal/a:

Už jsem se smířil s chybou v MSO2007 a s prostým Copy -> Paste


O Žádnou chybu se nejedná. Jde o to, že sešit a list ze kterého se provádí copy MUSÍ být vždy aktivní na cíli (Destination) nezáleží. Sešit do kterého se má kopírovat musí být samozřejmě otevřen.

Zápis musí být ve tvaru jaký uvádí marjankaj, protože Range(Cells(1,1)) je zhovadilost.

Začátečník napsal/a:

Bláhově jsem se domníval, že Range(Cells(1, 1), Cells(122, 34)) === Range("A1:AH122").


Range(Cells(1, 1), Cells(122, 34)).Select

Vybere jakou oblast?

A co takhle použít resize, místo toho fujtajblu.

???
https://www.youtube.com/watch?v=tGY70sdpaLc
https://www.youtube.com/watch?v=faPSXNkU1Y0

Jaj, sorry. Tu interpunkci v názvu makra sem vůbec nezaznamenal, moje chyba. Jak už tu zaznělo do kódu něco takového nepatří, což sis sám ověřil v praxi.


Strana:  1 ... « předchozí  17 18 19 20 21 22 23 24 25   další » ... 70

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

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.

On-line nástroje