Zdravím Ťa Poki,
makrá som doskúšal v mojej aplikácii. Chodia aj nechodia. Tab1 generujem pomocou funkcii. Každý tretí stĺpec má fciu: =KDYŽ(JE.CHYBHODN(SVYHLEDAT(List3!B3;List1!$A$3:$B$24;2;0));
" ";SVYHLEDAT(List3!B3;List1!$A$3:$B$24;2;0)). Podľa stĺpca a riadku sa mení B3.
Každý štvrtý stĺpec má fciu:=KDYŽ(List3!C3=" ";" ";" - "&List3!C3). Pričom sa mení C3.
Ak v Tab1 prázdne riadky vymažem (klávesou Delete),makrá pracujú bez chyby. Ak prázdne riadky obsahujú fcie kopíruje to po 22 riadkoch.
Dokážeš pomôcť. Ďakujem
Kopíruje to skoro tak, ako by to malo. Pri nastavenej tabulke 8 riadkov x 50 stĺpcov sa skupina 25 až 36 ko píruje 3x, avšak skupina 37 až 50 chýba. V rozsahu A28:X35 by mala byť skupina 37 až 48 a posledná skupina 49 a 50 by mala byť skopírovaná do A37:D44. Od riadku 45 ďalej už nič.
Vďaka
Zdravím všetkých Excelákov,
chcel by som poprosiť o nasledovné riešenie.
Na liste Tab1 mám generovanú tabuľku so začiatkom v B3. Jej veľkosť sa dynamicky mení. Počet riadkov sa môže meniť v rozsahu B3:B24 (Max 22). Tabuľka obsahuje vždy trojice stĺpcov a ich počet sa môže meniť až do počtu max. 50 (stĺpce sú BCD, EFG, HIJ atď).
Potrebujem takto generovanú tabuľku skopírovať pomocou makra do listu NovaTab1 a to tak, že vždy sa skopírujú za sebou prvé dva stĺpce z každej trojice , pričom tretí stĺpec sa vynecháva. Kopírovať sa začne do A1. Takže z listu Tab1 stĺpce B3:C vlož do A1:B na list NovaTab1, E3:F vlož do C1:D, ... Počet riadkov je rovný počtu vyplnených riadkov v Tab1. Oblasť do ktorej môžem na liste NovaTab1 kopírovať je vymedzená rozsahom A1:X44. Takže do jedného radu môžem skopírovať max. 12 dvojíc stĺpcov. Ďalšie stĺpce kopírujem do nového radu od stĺpca A, pričom medzi radmi vynechám prázdny riadok.
Ak veľkosť tabuľky v Tab1 je tak veľká, že kopírovanie presahuje riadok 44 v NovaTab1, treba novú radu stĺpcov začať kopírovať od bunky A45.
Ďakujem za riešenie
Nenájde sa niekto, kto by dokázal pomôcť s riešením. Formátovanie buniek je nepodstatné. Dôležité je vkladanie údajov. Ďakujem
Úprimná vďaka za riešenie
Odskúšam ho
Pekný zvyšok večera
DO
Odpoveď na položenú otázku.
Pri zmene obsahu bunky A2 sa má spustiť macro, ktoré premenuje stále ten istý list v zošite „Ulohy“ (prvý prázdny list je List6).
Zošit „MyJob“ obsahuje množstvo listov, ktorých počet priebežne narastá. Tieto listy sú už pomenované menami ako sa mení obsah bunky A2 . Meno jedného z týchto listov je teda zhodné s menom, ktoré obsahuje bunka A2.
Macro má preniesť dáta zo zošita „MyJob“ z listu s menom zhodným s obsahom A2, do zošita „Ulohy“, do toho istého listu, ktorý som premenoval podľa bunky A2.
Formáty buniek sa nemusia prenášať, stačí ich skopírovať tak ako sú.
Pre užívateľa je list3, na ktorom je uvedená bunka A2, schovaný.
DO
Nerobím si iluzie, ale VBA je mi velmi vzdialené. Pre zjednodušenie výpočtov som z C++ exportoval súbory csv do excel a chcem v excel robiť výpočty. Preto môj pôvodný dotaz. Študovať VBA v tejto chvíli považujem za mrhanie času. Zadaný problém z pohľadu skúseného programátora VBA považujem za triviálny, preto som sa obrátil na predpokladám odborníkov , možná gurov v Exceli.Nakoľko sa jedná o serióznu prácu, aby som nemusel experimentovať, požiadal som o návrh riešenia. Viem, že to dokážem naštudovať, ale neviem, či by to bolo profesionálne riešenie, bez možných, nepredvídateľných chýb.
Skúsim to:
Sub NoveMeno ()
Shet(6).Name= Sheet(3).Range("A2")
Workbooks.Filename:="C:\MyJob\Sheet.Active.Workbooks("Ulohy").Sheet.Range("A2").MoveAfter:=Workbooks("Ulohy").Sheet(5)
End Sub
MyJob nemusí byť otvorený, stačí preniesť dáta zo zodpovedajúceho listu do "listu6"
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.