< návrat zpět

MS Excel


Téma: Posun Tabulky rss

Zaslal/a 7.3.2011 15:43

Pekny den prajem a poprosil by som o pomoc. Cez udalostnu proceduru Private Sub Worksheet_Change(ByVal Target As Range), vyplnim na liste "Statistika"
riadok A5:G5 nejakymi udajmi. A teraz by som potreboval vsetky riadky v tabulke posunut o jeden riadok dole. Max rozsah tabulky je A5:G100. V pripade ze riadok 100 uz obsahuje data, tie mozu byt prepisane predchadzajucim 99 riadkom. Cize potrebujem posunut oblast A5:G99 o 1 riadok dole bez ohladu na to ci riadok 100 je prazdny alebo vyplneny.

Zaslat odpověď >

icon #004286
Poki
treba takto:
Range("A5:G99").Cut Destination:=Range("A6:G100")citovat
#004287
avatar
Ja som to skusal cez vlozenie riadku a shift xlDown ale nedarilo sa mi to.
Jednoduche riesenie to poriesilo. Super Vdaka.
Vyskytol sa mi vsak jeden problem, ktory som podcenil. V jednom stlpci robim jednoduchy sucet v Exceli C2= SUMA(C5:C100). A potreboval by som, aby v C2 zostavala celkova suma aj ked stary riadok 100 sa odstrani. Islo by to nejak mudro urobit?citovat
icon #004288
Poki
Nevim, jestli jsem to pochopil spravne, ale pokud ma v bunce C2 stale zustat soucet bunek C5:C100, tak staci za radek posunuti pridat tento radek:
Range("C2").Formula = "=Sum(C5:C100)"citovat
#004289
avatar
Nie je to to co potrebujem. Kedze data do tabulky sa zadavaju cez riadok 5 a po naplneni celej tabulky sa riadok 100 stale meni (prepisuje sa), potom takyto vzorec mi spocitava aktualne hodnoty v C5:C100. Potrebujem zachovat sucet aj z historie t.j. aj sucet z udajov, ktore uz v tabulke nie su. Bude to na sposob C2=C2+C5, kde v C5 je stale nova aktualizovana hodnota.
V kazdom pripade dakujem za pomoccitovat
icon #004292
Poki
tak mozna takto:
Sub Posun()
Dim Puvodni As Double
Puvodni = Range("c2")
Range("A5:G99").Cut Destination:=Range("A6:G100")
Range("C2").Formula = "=" & Puvodni & "+C5"
End Sub
citovat
#004295
avatar
Dakujem za odpoved. S Formulou som to neodskusal, ale myslim si ze by to nefungovalo, lebo predchadzajuci prikaz s cut, uz v riadku 5 nenecha ziadne udaje a tym aj C5 uz neobsahuje data. Ja som to jednoducho poriesil tak, ze hodnotu ktoru zapisujem do C5 pripocitam k povodnej hodnote v C2 a funguje to.
Ale v suvislosti s prikazom
Range("A5:G99").Cut Destination:=Range("A6:G100")
dochadza k niecomu s cim si neviem rady. Do bunky C5 vkladam desatinne cisla, format bunky C5 nastavim v Exceli na Cislo, 2 desatinne miesta, oddelovač 1000.
Po vykonani uvedeneho prikazu sa format bunky C5 zmeni na Obecny. Nasledny zapis do C5 uz ulozi desatinne cislo s viac ako dvomi desatinnymi miestami. Da sa tomu nejako zabranit?citovat
icon #004296
Poki
No prave, az do c5 vlozite nejake cislo (tak jsem to pochopil, ze tam se zadavaji hodnoty), tak se co bunky C2 tato hodnota pricte - ale asi nechapu, co chcete udelat.
Format cisla: Range("c5").NumberFormat = "#,##0.00"citovat
#004297
avatar
Dakujem, pochopili ste to spravne. Ked som nastavil format cisla v Exceli, tak to nefungovalo spravne - ako som uviedol format sa menil novym zapisom do C5. Po nastaveni formatu cisla pomocou makra, funguje to OK.citovat

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