Excel - makro na upravu listu

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Gotchi
nováček
Příspěvky: 1
Registrován: květen 17
Pohlaví: Nespecifikováno
Stav:
Offline

Excel - makro na upravu listu

Příspěvekod Gotchi » 25 kvě 2017 09:48

Dobry den, predem se omlouvam pokud uvadim tema/pozadavek spatne, popr. pokud zde jiz neco takoveho je. Potreboval bych od nekoho zkuseneho poradit ohledne tvorby makra.
A) Mam na prvnim listu (List1=Prehled) seznam s hodnotami A-X. Z tohoto seznamu bych chtel vytvorit pro kazdou hodnotu list s nazvem z odpovidajici bunky seznamu. Tedy razeni listu v sesite by bylo "Prehled" a nasledne listy A-X. Neco podobneho jsem nasel, ale neni to zcela dle mych predstav. (V pripade shodnych hodnot by tato byla preskocena).
B) Na kazdem nove vytvorenem listu by bylo tlacitko/bunka s hypertext. odkazem ktera by vracela vzdy na prvni list, tedy na "Prehled".
Muze mi prosim nekdo poradit jak na to?
Mnohokrat dekuji.

Reklama
JozefB
nováček
Příspěvky: 1
Registrován: červenec 17
Pohlaví: Muž
Stav:
Offline

Re: Excel - makro na upravu listu

Příspěvekod JozefB » 10 črc 2017 22:16

Ahoj, tu je časť kodu (treba dokončiť Hyperlinks s odkazem na list Prehled)
rozdelil som to na 3 samostatné makra:
Sub AddSheets()
' tvorba listu se seznamu
Dim cell As Excel.Range
Dim wsWithSheetNames As Excel.Worksheet
Dim wbToAddSheetsTo As Excel.Workbook
Set wsWithSheetNames = ActiveSheet
Set wbToAddSheetsTo = ActiveWorkbook
'For Each cell In wsWithSheetNames.Range("A2:A5") rozsah bunek alebo select, ako je o riadok nižšie
For Each cell In Intersect(Selection, ActiveSheet.UsedRange)
With wbToAddSheetsTo
.Sheets.Add After:=.Sheets(.Sheets.Count)
On Error Resume Next
ActiveSheet.Name = cell.Value
On Error GoTo 0
End With
Next cell
Call LIST
End Sub

Sub LIST()
' pro seznam listu
Sheets("Prehled").Select
Sheets.Add After:=ActiveSheet
ActiveSheet.Name = "list"
Dim mySheet As Worksheet, myRow As Long
With Sheets("list")
' .Range("A:A").Clear
myRow = 1
For Each mySheet In ActiveWorkbook.Worksheets
If mySheet.Name <> "Menu" Then
.Hyperlinks.Add Anchor:=.Cells(myRow, 1), Address:="", SubAddress:= _
"'" & mySheet.Name & "'!A1", TextToDisplay:=mySheet.Name
myRow = myRow + 1
End If
Next mySheet
End With
Call Hyperlinks
End Sub

Sub Hyperlinks()
' treba ešte dokončiť Hyperlinks na list "Prehled" !!
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
With ws
' treba dokončiť Hyperlinks na list Prehled
End With
Next ws
End Sub

Pepo


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Excel - automatický export listů xls do pdf včetně pojmenování Příloha(y)
    od kalosek » 28 čer 2023 20:31 » v Kancelářské balíky
    2
    2031
    od kalosek Zobrazit poslední příspěvek
    29 čer 2023 19:39
  • Sestava cca 50 000,- prosím o názor, či úpravu
    od Hejhul » 18 dub 2024 11:47 » v Rady s výběrem hw a sestavením PC
    2
    277
    od Alferi Zobrazit poslední příspěvek
    18 dub 2024 12:58
  • Makro pro myš Rapture Python
    od mmmartin » 27 srp 2023 15:18 » v Problémy s hardwarem
    9
    1125
    od mmmartin Zobrazit poslední příspěvek
    29 srp 2023 16:47
  • Excel a OneDrive
    od sginfo » 11 zář 2023 15:28 » v Kancelářské balíky
    16
    6267
    od mirekol Zobrazit poslední příspěvek
    20 říj 2023 08:31
  • Excel - problém se vzorci
    od honzzicek » 28 čer 2023 21:45 » v Kancelářské balíky
    2
    1793
    od honzzicek Zobrazit poslední příspěvek
    01 črc 2023 08:57

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Facebook [Bot] a 8 hostů