< návrat zpět

MS Excel


Téma: Schovať listy rss

Zaslal/a 2.10.2010 12:33

Mám viac ako 280 listov. Prevažná väčšina z nich je pomenovaná menom začínajúcim písmenom Z. Problém je v tom, že nezávisle na tom, čo nasleduje za písmenom Z, potreboval by som tieto listy plus List2 a List3 pomocou makra schovať a to za nasledovných podmienok:
1) Ak je na List1 J3=1 a M3=1 schovať uvedené listy aj keď niektorý z nich je viditeľný.
2) Ak je na List1 J3=2 a M3=2 zviditeľni uvedené listy
3) Ak je na List1 J3=3 a M3=3 vyzvať užívateľa aby zadal meno listu (listov), ktorý chce zviditeľniť
4) Akákoľvek iná kombinácia hodnôt J3 a M3 nezmení stav viditeľnosti uvedených listov
Ďakujem

Zaslat odpověď >

Strana:  1 2   další »
#002610
avatar
Určitě by to chtělo přiložit příklad, na kterém by se dalo stavět, není to asi úplně jednoduchý problém na popsání pár řádek kódu. Pokud možno, uložit v *.zip, rara si v kanclu neotevřu 3citovat
icon #002611
Poki
co takto?
Sub HIDE()
Dim Vstup As String
For Each List In Sheets

If List.Name = "List2" Or List.Name = "List3" Or Left(List.Name, 1) = "Z" Then

'--- J3=1 a M3=1
If Worksheets("List1").Range("J3") = 1 And Worksheets("List1").Range("m3") = 1 Then
List.Visible = False
End If

'--- J3=2 a M3=2
If Worksheets("List1").Range("J3") = 2 And Worksheets("List1").Range("m3") = 2 Then
List.Visible = True
End If

End If

Next List

'--- J3=3 a M3=3
If Worksheets("List1").Range("J3") = 3 And Worksheets("List1").Range("m3") = 3 Then
Vstup = InputBox("Zadej jméno listu nebo listů, které chceš zviditelnit" & vbCrLf & vbCrLf & _
"V případě více listů mezi názvy vlož středník (;) bez mezery, např. Zlist;List2", "Zadej název listů")
Dim Pole() As String
Pole = Split(Vstup, ";")

For i = LBound(Pole) To UBound(Pole)
Worksheets(Pole(i)).Visible = True
Next
End If

End Sub
citovat
#002616
avatar
Ďakujem za odpovede,
skúsil som Pokiho makro. Automaticky sa nerozbelo. Keď som ho spustil cez F5 tak pracovalo tak, ako potrebujem podľa toho, či pred spustením F5 bola navolená kombináci J3=M3=1, 2 alebo 3. Neviem, či by nebolo vhodné aktivovať makro cez zmenu J3&M3
Schovanie listov prebehlo rýchlo, zviditeľnenie podstatne pomalšie.
Ďakujemcitovat
icon #002620
Poki
Beru to tak, ze makro funguje (ikdyz při skryvani pomalu – s tim toho moc nenadělám…)
Pokud jde o zpusob spusteni makra – lze makro spustit na zaklade zmeny jedne konkretni bunky nebo jedne bunky z nejake oblasti, nelze však spustit makro v zavislosti na zmene dvou bunek – navrhoval bych spustit makro při zmene M3 – je však nutne, aby uzivatel nejdřív zmenil bunku J3 a az pote M3 – bude to tak vyhovovat?citovat
#002621
avatar
Áno, makro po spustení cez F5 funguje - nezistil som nezrovnalosti.
Áno, môže sa spúšťať pri zmene M3, ale J3 musí byť v makre kontrolovanácitovat
icon #002623
Poki
Vlozte tento kod do modulu Listu1 - zpusobi to spusteni makra HIDE pri zmene bunky M3
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$M$3" Then
Call hide
End If
End Sub
citovat
#002627
avatar
Ďakujem, funguje supercitovat
#002628
avatar
Ešte jeden dodtaz. Ak by som chcel použiť xlSheetVeryHidden, potom stačí zmeniť?:
List.Visible=False
na
List.Visible=xlSheetVeryHidden
a
List.Visible=True
na
List.Visible=xlSheetVisible

a
Worksheets(Pole(i).Visible=True
na
Worksheets(Pole(i).Visible=xlSheetVisiblecitovat
icon #002629
Poki
melo by to fungovat - zkus to a uvidis :)citovat
#002630
avatar
Ono to funguje. Očakával som, že vo VBAProject v MS Excel Objects mená schovaných listov nebude vidieť. Čo mi nefunguje. Alebo sa to nedá?citovat

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

Čas od do

lubo • 19.4. 16:30

Makro smyčka

MilanKop • 19.4. 10:46

Makro smyčka

elninoslov • 19.4. 9:02

Čas od do

elninoslov • 19.4. 8:46

Čas od do

jarek1111 • 18.4. 13:46

Čas od do

lubo • 18.4. 11:13

Čas od do

jarek1111 • 18.4. 8:32