Stránka 1 z 5
Excel VBA - makro pro přepsání dat
Napsal: 13 říj 2010 07:19
od Branscombe
Ahoj všem, potřeboval bych pomoci s jedním makrem.
Potřebuji vytvořit makro které mi ve vzorovém sešitu v příloze překopíruje vždy data z listu "Data" na list "Tabulka" a to následovně:
Zapíše hodnotu ze sloupce "A" na listu "tabulka" do listu "Data" do buňky která se nachází:
1. vyhledá hodnotu ze sloupce "C" (Data) ve sloupci "A" (Tabulka)
2. vyhledá hodnotu ze sloupce "D" (Data) ve sloupci "C" (Tabulka)
3. vyhledá hodnotu ze sloupce "I" (Data v řádku "D" (Tabulka)
Ve výsledku tedy ve vzorovém sešitu by měl zapsat hodnotu "3" do buňky "M18" na listu "Tabulka"
To celé provede za prvé pouze pro poslední tři řádky na listu "Data", za druhé pro všechny řádky na listu "Data"
Následně bych ještě potřeboval aby mi to upravilo formáty překopírovaného čísla a to pokud je v sadě na listu "Data" dle sloupce "K" pro danou sadu (dle sloupce "A") alespoň jedenkrát NOK formátuje pozadí červeně, pokud je 3x OK, formátuje pozadí zeleně. To by mělo udělat za prvé pouze pro poslední tři řádky na listu "Data" nebo za druhé pro všechny řádky na listu Data.
Doufám že jsem vše řádně popsal a vysvětlil a že mi s tím bude někdo schopný a ochotný pomoci.
Re: Excel VBA - makro pro přepsání dat
Napsal: 13 říj 2010 10:06
od navstevnik
- upresni
3. vyhledá hodnotu ze sloupce "I" (Data v řádku "D"(Tabulka)
- zdroj je na listu data kde?
Ve výsledku tedy ve vzorovém sešitu by měl zapsat hodnotu "3" do buňky "M18" na listu "Tabulka"
- najednou v jedne procedure nebo uzivatel si zada tri radky/ vse?
To celé provede za prvé pouze pro poslední tři řádky na listu "Data", za druhé pro všechny řádky na listu "Data"
Nejbajecnejsi jsou slucovane bunky, s nimi se velice dobre pracuje, neslo by jeste nejake pridat?

Re: Excel VBA - makro pro přepsání dat
Napsal: 13 říj 2010 10:19
od Branscombe
3. vyhledá hodnotu ze sloupce "I" (Data) v řádku "2:2" (Tabulka)
Zdroj, alias hodnota "3" je na listu data ve sloupci "A"
Jedno makro pro poslední tři řádky, druhé makro pro všechny řádky
Sada dle sloupce "A" znamená tři řádky. Sada pro číslo 3 na listu "Tabulka" v buňce "M18" jsou řádky 8:10 na listu "data"
Zkusím ještě popřemýšlet o těch sloučených buňkách, možná že bych mohl ještě nějaké přihodit ...

Re: Excel VBA - makro pro přepsání dat
Napsal: 13 říj 2010 10:54
od navstevnik
Dale: v sade se vzdy nachazi na vsech trech radcich jen jeden typ smeny (R, O, N) ze stejneho data mereni?
Re: Excel VBA - makro pro přepsání dat
Napsal: 13 říj 2010 11:21
od Branscombe
Pro danou sadu (tří řádků) bude vždy jen jeden typ směny. Mohli bychom to sloučit co ??

Re: Excel VBA - makro pro přepsání dat
Napsal: 13 říj 2010 11:48
od navstevnik
Mne se neptej, to je tvoje aplikace, ale rozhodni se zavcas, neb to ovlivni reseni. Co udelas s Typ, ktery muze byt ruzny? Bude jen jeden vysledny?
Re: Excel VBA - makro pro přepsání dat
Napsal: 13 říj 2010 13:08
od Branscombe
Typ i směna budou vždy pro sadu tří řádků stejné a nesloučené...
Re: Excel VBA - makro pro přepsání dat
Napsal: 13 říj 2010 14:43
od navstevnik
V priloze je pracovni verze procedur.
Pro zpracovani posledni 3 radky/vsechny radky volat subrutiny Last3Row/AllRow (klavesove zkratky nebo na list pridej tlacitka z ovladacich prvku ActiveX)
Otestuj.
Re: Excel VBA - makro pro přepsání dat
Napsal: 13 říj 2010 15:38
od Branscombe
Super, funguje jak má, jen když jsem to napasoval na svoje data tak mám trošku problém, že když do typu napíšu např. "123456789", tak mi to skončí s chybou. Osobně si možná chybně myslím že je to definicí "Typ As String", ale nevím ...
Re: Excel VBA - makro pro přepsání dat
Napsal: 13 říj 2010 16:59
od navstevnik
Demo data musi obsahovat realne zadani, pouze hodnoty jsou demo, ale typ, rozsah,... musi odpovidat realite.
Takze poskytni demo soubor obsahujici data odpovidajici realite, nebudu si vymyslet coby kdyby.
Re: Excel VBA - makro pro přepsání dat
Napsal: 14 říj 2010 07:11
od Branscombe
Reálné zadání se liší pouze v číslech typu. Netušil jsem že dvoumístné číslo a osmimístné číslo má tak zásadní vliv na vyhodnocení makra.
Data odpovídající realitě ve sloupci (řádku) typ je osmimístné číslo např. 40404040 nebo 41404140
Proč to má tak zásadní vliv ? V čem je rozdíl mezi dvou a osmimístným číslem ?
Re: Excel VBA - makro pro přepsání dat
Napsal: 14 říj 2010 08:18
od navstevnik
V zasade ne, ale ukazka ma na listu Tabulka!D2:AA2 ciselnou radu 1-24, takze zcela logicky bylo cislo typu pouzito jako offset pro urceni sloupce pri zapisu do tabulky.
Tady je jasne videt, proc maji demo data odpovidat realu.
Typ bude vzdy dlouhe cele cislo nebo muze byt i retezec?
Bude tabulka obsahovat vzdy 24 sloupcu ( D2:AA2) nebo bude jejich pocet promenlivy?