< návrat zpět

MS Excel


Téma: Text z buňky jako proměnná (text=název listu VBA rss

Zaslal/a 24.11.2017 21:39

Zdravím,
v buňce (1,1) mám zapsaný název listu, který si přiřazuje basic např.(List2). Potřeboval bych aby makro načetlo název listu z buňky (1,1) do proměnné. Poté na základě názvu zobrazilo tento list.
Nemůžu využít Aktivaci listu pomocí: Sheets("blabla").Activate protože kdyby mi uživatel přepsal název listu tak již tato funkce nebude fungovat. Stejně tak u Sheets(2).Activate protože kdyby uživatel prohodil pořadí listu nezobrazí se správný list.

Tudíž potřebuji využít aktivaci pomocí: List2.Activate
Makro mi funguje když zadám název listu přímo do kodu:
Set nazev_listu = List2
nazev_listu.Activate
Tak to funguje.
Ale když upravím kod na:
Set nazev_listu = List1.Cells(1,1)
nazev_listu.Activate
Tak to nefunguje
Nevěděl by někdo prosím jak to ošetřit? Děkuji

Zaslat odpověď >

#038471
Stalker
A proč tedy nepracuješ s codename listu pod kódem VBA stejně jako si to použil zde List1.Cells(1,1)?
Uživatel si může list pojmenovat podle svého nebo změnit pořadí a kódu je to jedno.
Nebo si codename listu změn podle svého.

Co se týče toho kodu:
nazev_listu = List1.Cells(1, 1)
Sheets(nazev_listu).Activate
citovat
#038472
elninoslov
Napadlo ma takto prejsť CodeName listov a je to. Neviem či sa dá priamo volať pomocou variabilného CodeName daný list.

Rozdelené na volaciu a volanú časť, samozrejme to môžete spojiť.
Sub Spusti()
Call AktivujList(List1.Cells(1, 1).Value2)
End Sub

Sub AktivujList(cdName As String)
Dim ws As Worksheet
For Each ws In Worksheets
If ws.CodeName = cdName Then ws.Activate: Exit For
Next ws
Set ws = Nothing
End Sub


EDIT:
Tak som vygooglil, že sa to dá:
Sub AktivujList2()
With ThisWorkbook
.Worksheets(.VBProject.VBComponents(List1.Cells(1, 1).Value2).Properties("Index")).Activate
End With
End Sub

Akurát by som to ešte ošetril na prázdnu bunku, nesprávny názov v bunke a pod. Napr. cez On Error Resume Next...citovat
#038473
avatar
Děkuji Vám za pomoc. Elninoslov: Super, ten první kód s cyklem funguje. Díky 1citovat

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