Excel - makro na upravu listu

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

Moderátor: Mods_senior

Odpovědět
Gotchi
nováček
Příspěvky: 1
Registrován: 25 kvě 2017 09:36

Excel - makro na upravu listu

Příspěvek od Gotchi »

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.
JozefB
nováček
Příspěvky: 1
Registrován: 10 črc 2017 22:03

Re: Excel - makro na upravu listu

Příspěvek od JozefB »

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
Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Grafická karta na úpravu videa
    od hanoj » » v Rady s výběrem hw a sestavením PC
    4 Odpovědi
    5311 Zobrazení
    Poslední příspěvek od petr22
  • Grafická karta pro úpravu videa
    od hanoj » » v Rady s výběrem hw a sestavením PC
    0 Odpovědi
    7266 Zobrazení
    Poslední příspěvek od hanoj
  • Nový stroj pro Fotofgrafa na úpravu fotek
    od vokuca » » v Rady s výběrem hw a sestavením PC
    13 Odpovědi
    6148 Zobrazení
    Poslední příspěvek od Alferi
  • Přechod z Excel 21 na Excel 24
    od Snekment » » v Kancelářské balíky
    2 Odpovědi
    14464 Zobrazení
    Poslední příspěvek od Snekment
  • Pohoda a excel
    od brownwld » » v Kancelářské balíky
    1 Odpovědi
    7388 Zobrazení
    Poslední příspěvek od atari

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