Příspěvky uživatele


< návrat zpět

Strana:  1 2   další »

Dakujem za odpoved, ale nie je mi to este aj tak celkom jasne. Chapem, ze oblast zacina od bunky A2, ale potom ta funkcia INDEX mi nie je vobec jasna.

Argumenty funkcie su:
INDEX(array,row_num,column_num)

array - ten je fixne nastaveny na prvu az stu bunku. To mi este dava vyznam. Lists!$1:$100

row_num - odkazuje sa na posledny riadok rozsahu. Hodnota 100. Preco tu je hodnota 100?

column_num - tu by mal byt odkaz na stlpec kde sa nachadzaju hodnoty. Preco je tam pouzita funkcia COUNTA, ktora ma vracat pocet neprazdnych riadkov z rozsahu 1:1? Vysledok bude vzdy 1.
Nemoze tam byt jednoducho napisana len "1", ked sa to nachadza v prvom stlpci?
INDEX(Lists!$1:$100,100,1)

Vdaka.

COUNTA(Lists!$1:$1) - tato funkcia by mala vracat pocet neprazdnych riadkov.Nechapem tym jednotkam. Vzdy to bude predsa vracat to iste cislo. Nemalo by tam byt radsej nieco taketo: =COUNTA($A$1:$A$100)?

Ahojte,
chcel by som Vas poprosit, ci by mi niekto z Vas mohol detailne vysvetlit jednu funkciu, ktora sa pouziva pri nastaveni dynamickeho rozsahu pri overovani dat. Nastavit si to viem podla toho navodu na webe, ktory pripajam ale nerozumiem tejto funkcii.

Funkcia:
(odstavec: Create the ValData Dynamic Range)
=Lists!$A$2:INDEX(Lists!$1:$100,100,COUNTA(Lists!$1:$1))

Dakujem.

http://www.contextures.com/xlDataVal15.html

@eLCHa:

If Sh = Sheet1 And Target.Address = Range("B3").Address Then
Ano mas pravdu, tato ALova modifikacia nefungovala spravne a vyhadzovala chybu.

Funkcne riesenia su 2 zatial:
eLCHa:
If Sh.Name = Sheet1.Name And Target.Address = Range("B3").Address Then

AL:
If Sh.CodeName = "Sheet1" And Target.Address = Range("B3").Address Then

@AL: dakujem!

Uz sa mi to podarilo nakombinovat tak, aby mi to fungovalo.

Vdaka za rady, ale nefunguje mi to. Zadal som to nasledovne podla toho co napisal eLCHa:

skusal som tieto varianty:
If Sh.CodeName = Sheets(Sheet1.Name) And Target.Address = Range("B3").Address Then

If Sh.CodeName = ThisWorkbook.Sheets(Sheet1.Name)
And Target.Address = Range("B3").Address Then


If Sh.CodeName = ThisWorkbook.Sheet1
And Target.Address = Range("B3").Address Then

Ahoj AL,

este by som sa Ta spytal, ci je nejako mozne zmenit nazov listu "Sheet1" na nejaky iny?

V mojom pripade, ked zmenim pomenovanie listu v exceli a potom aj v kode, tak mi to nefunguje.
Vdaka.

Vdaka za odpoved a riesenie.

Ja som vcera nad tym dumal preco sa mi moje povodne riesenie zacyklovalo a nasiel som dalsie funkcne riesenie:


Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Select Case Range("B3")

Case "A1"
MsgBox "Vybral si TYP A1"

ThisWorkbook.Sheets("Sheet1").Select
Application.EnableEvents = False
Range("B8:D9").Clear
ThisWorkbook.Sheets("Sheet3").Select
Range("A3:C4").Select
Selection.Copy
ThisWorkbook.Sheets("Sheet1").Select
Range("B8").Select
ActiveSheet.Paste
Application.EnableEvents = True

Case "A2"
MsgBox "Vybral si TYP A2"

Case "B1"
MsgBox "Vybral si TYP B1"

Case "B2"
MsgBox "Vybral si TYP B2"

Case "C1"
MsgBox "Vybral si TYP C1"

Case "C2"
MsgBox "Vybral si TYP C2"

End Select

End Sub


Bolo potrebne pridat prikaz na zamedzenie zacyklenia:
Najprv false:
Application.EnableEvents = False
Potom vratenie na True:
Application.EnableEvents = True

Ahojte,

chcel by som Vas poprosit o pomoc pri nasledovnom probleme. Chcem, aby sa dynamicky menil obsah buniek v zavislosti od toho co vyberiem z drop-down menu v bunke C3. Chcem aby sa povodny rozsah B8:D9 vymazal aj s formatovanim. Nasledne by sa prekopirovala tabulka prisluchajuca vybratemu typu zo Sheet3 na Sheet1 na to iste miesto.

Nechapem preco pri SheetChange udalosti nefunguje klasicke VBA, ktore si nahram aj cez nahravanie makra. Vie mi niekto aj toto objasnit, pripadne ma niekto materialy, aby som lepsie pochopil syntax programovania udalosti.

Dakujem.

S prilohou to vzdy ide lepsie. Skus takto. Spravil som ti sumu Total za cely mesiac. Nie je tam osetrene #REF v 44 riadku. Zahrnul som len rozsah r7 - r43.

@Opicak
Vdaka za rychlu reakciu a za objasnenie mojho problemu so syntaxou! Je to super.

@eLCHa:
application.WorksheetFunction.SumIf...


O toto som sa pokusal aj ja v prilozenom excel subore, ale nevedel som prist na syntax. Vedel by si mi poradit ako to mam spravne napisat?
Dik

Pre moj pripad asi pouzijem makro od jimice01, ale paci sa mi aj riesenie od marjankaj.

Obidvom velka vdaka za rychlu reakciu.

Nepises, ci to chces robit makrom alebo ti staci funkcia.

Funkciou by to mohlo byt aj takto. Rozsah hodnot vzdy zmenis v zavislosti od sledovaneho fakturacneho obdobia.
=SUM(List1!A1:A10)

Ahojte,
chcem spocitat vsetky hodnoty v stlpci "A", pricom v tom istom riadku stlpca "C" sa musi nachadzat znak "a". Pomocou vzorca to nie je problem. Chcem to pomocou makra. Skusil som aj nahravanie makra, ale tak ako mi to nahralo to osetruje len konkretny pripad rozsahu hodnot. Potrebujem univerzalne makro. Snazil som sa nieco spravit pomocou funkcie zrataj() ale nefunguje spravne. Vopred vdaka za rady.

Uz sa mi to podarilo vyriesit. Len som to neriesil cez "Private Sub Worksheet_Change(ByVal Target As Range)", ale cez makro kde som mohol vyuzit aj spomenuty zaznamnik.

Ak by mi to niekto vedel objasnit aj v tom prvom makre ako prepojit tie kody navzajom tak fajn.

@AL: Dakujem za ochotu.


Strana:  1 2   další »

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