Stránka 1 z 1
Úprava makra-výběr ze dvou adres
Napsal: 30 kvě 2012 19:50
od esi32
Dobrý den,
protože se makra teprve učím,chtěl bych někoho požádat,zda-li by mi věnoval něco málo času a pomohl mi s úpravou makra.Rád bych to zvládl sám,jen bych potřeboval postrčit tím správným směrem.
V makru jde o to,že když vyplním UserForm,tak data z Userformu se uloží mimo jiné i na list Rámcová smlouva.Data do Userform se berou s listu Klienti.Problém je,že některý klient má doručovací adresu odlišnou od trvalého bydliště.Potřeboval bych docílit toho,aby v případě,že má klient v listě Klient uvedenu "Doručovací adresu",tak aby makro doplnilo do listu Rámcová smlouva právě tuto adresu.
Tímto bych rád začal.Pomůže mi někdo?
Dík za případnou pomoc.
Re: Úprava makra-výběr ze dvou adres
Napsal: 30 kvě 2012 20:58
od Azuzula
Dobrý den,
pokud už máte v makru pořízeno kopírování adresy, tak se dá přidat pár řádků s podmínkou IF kde se kontroluje přítomnost doručovací adresy.
Např. když je nějaká buňka s textem třeba "Doručovací adresa" a u kontaktu jen s bydlištěm tato buňka chybí, tak se to dá využít do podmínky. Ono by šlo kontrolovat jakoukoliv buňku na nějaký text a rozhodovat podmínkou IF.
např. když je třeba v buňce A2 "bydliště" a v B2 "doručovací adresa", tak bych použila třeba
Kód: Vybrat vše
if range("B2").value = "Doručovací adresa" then 'když se splní tato podmínka tak se provede následující
range("B3:B7").copy
'... kopírování jinam
else 'a když není splněna první podmínka tak se provede tato
range("A3:A7").copy
'... kopírování jinam
end if
Re: Úprava makra-výběr ze dvou adres
Napsal: 30 kvě 2012 21:45
od esi32
Zdravím Vás Azuzulko,
Přesně takhle jsem to myslel.Pokud bunka"Doručovací adresa"je vyplněná daty,tak by se k vyplnění hodnot použily tyto hodnoty.Pokud je prázdná,použije se "normální adresa"..Jdu to tedy zkoušet.Děkuji zatím za odezvu.
--- Doplnění předchozího příspěvku (30 Kvě 2012 23:52) ---
Tak se snažím,ale nic moc:-(
Výběr adres do Userformu jsou na listě Klienti a ukládá do listu Složenka.Jak to oddělit v makru?Aby nejdřív na jednom listě zkontroloval a pak na jiný zapsal?Hlava to nebere..A asi to musí být samostatné makro,ano?

Re: Úprava makra-výběr ze dvou adres
Napsal: 01 čer 2012 20:20
od pavel.lasak
Máte k dispozici ukázku v Excelu?
Re: Úprava makra-výběr ze dvou adres
Napsal: 01 čer 2012 20:36
od Azuzula
Dá se to zapsat do jednoho makra celkem jednoduše. Když člověk zná různé příkazy, hlavně podmínku IF - ta se používá téměř všude
Tak se dá použít třeba:
Kód: Vybrat vše
sheets("klienti").select 'přepne na list s klienty
if range("A1") = "Doručovací adresa" then 'když se splní podmínka
range("A2:A5").copy 'kopírování záznamu
sheets("složenka").select 'přepne na list kam se mají vložit data
Range("A2").PasteSpecial 'vložení záznamu
Application.CutCopyMode = False 'ukončí kopírování - zruší ten rámeček kolem kopírované oblasti
end if
A aby nedocházelo k blikání obrazovky, tak se dočasně vypne zobrazování.
Kód: Vybrat vše
na začátek makra:
Application.ScreenUpdating = False 'vypne zobrazování kroků makra
a na konec makra:
Application.ScreenUpdating = True 'zobrazování se zase zapne
Re: Úprava makra-výběr ze dvou adres
Napsal: 01 čer 2012 21:15
od esi32
Zdravím,ukázku bych poslal až v případě,že to nezvládnu sám..Chci to udělat sám,jednou to už snad pochopím..Jak píše Azuzulka v té ukázce,tak u mě je rozdíl v tom,že je nutno nejdřív vyhledat daného klienta,pak ve sloupcích vyhledat ty adresy a pak podle té podmínky uložit jednu nebo druhou adresu.
Re: Úprava makra-výběr ze dvou adres
Napsal: 01 čer 2012 21:54
od Azuzula
Tak na vyhledání určitého textu v buňce se dá použít cyklus, který prohledá jeden sloupek buňku po buňce.
Kód: Vybrat vše
For a = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1 'projde každou použitou buňku ve sloupci od konce
'podmínka testující text v buňce
if cells(a,1) = "hledaný text" then
'provedení akcí
exit for 'ukončí cyklus
end if
Next a
Máš zase co zkoušet

Re: Úprava makra-výběr ze dvou adres
Napsal: 01 čer 2012 22:09
od esi32
Dík,zítra se ozvu:-)