< 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

On-line nástroje

Formulář Faktura

Formulář Faktura IV

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

Aktivní diskuse