Stránka 1 z 1

Excel - pole se seznamem a vzájemné propojení dvou buněk

Napsal: 27 pro 2009 21:49
od arcan
Ahoj, mám dva pro mne zatím neřešitelné úkoly při zadávání vzorců do Excelu, se kterými bych potřeboval pomoci.

1. Mám pomocí Data->Ověření vytvořeny dva rozevírací seznamy pod sebou.
Jde nějak naprogramovat aby druhý seznam se redukoval podle zadání hodnoty v prvním?
Př.: V prvním mám A; B; C; D a v druhém 1; 2; 3; 4; 5.
Potřeboval bych aby při zadání v prvním seznamu např. A ze v druhém zobrazily pouze hodnoty např. 1; 2 a 5, při zadání B 2; 3; 4 atd.

2. Zda jde udělat vzájemné propojení dvou buněk.
Př.: Do A1 zadám např. prodej X ks měsíčně a v A2 se automaticky vypočítá prodej za rok. To bych zvládl, ale zda jde udělat, aby to šlo i naopak, pokud přepíši vypočítané číslo za rok v A2 jiným číslem, aby se přepočítal správně i prodej za měsíc v první buňce A1 a takto to šlo neustále měnit ...


Děkuji za rady ...

Re: Excel - pole se seznamem a vzájemné propojení dvou buněk  Vyřešeno

Napsal: 27 pro 2009 22:40
od navstevnik
ad1.
pokud bude overovani dat pouzito pouze na jedinou dvojici bunek (jedna pro A;B;...... a druha pro 1;2;...), pak lze pomoci vzorcu v pridanych sloupcich druheho seznamu a pojmenovane oblasti pozadovane redukce druheho seznamu dosahnout, inspirace viz http://www.dataspectrum.cz/pages/glossary/glossary.htm - Ověření dat - propojení dvojice seznamů 2.
V opacnem pripade je nutno pouzit modifikovany postup tamtez - Ověření dat - propojení dvojice seznamů
ad 2.
nelze resit pomoci vzorcu, nelze totiz mit v bunce vzorec a zaroven vkladat hodnotu do bunky. Nutno pouzit udalostni proceduru VBA v modulu prislusneho listu - A1 - mesicni prodej, B1 rocni prodej (za 12 mesicu):

Kód: Vybrat vše

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  If Intersect(Target, Me.Range("a1:b1")) Is Nothing Then Exit Sub
  Application.EnableEvents = False
  With Target
    If .Address = "$A$1" Then
      .Offset(0, 1).Value = .Value * 12
    Else
      .Offset(0, -1).Value = .Value / 12
    End If
  End With
  Application.EnableEvents = True
End Sub

PS.: pokud potrebujes uvod k VBA, koukni sem http://www.officir.ic.cz/excelentne.html

Re: Excel - pole se seznamem a vzájemné propojení dvou buněk

Napsal: 27 pro 2009 23:30
od arcan
Díky, obojí funguje bezchybně a moc mě to pomohlo ... :wink: