pozdravljeni
ali ima kdo idejo, kako spraviti v tabelo imena vseh listov v zvezku?
Torej če imam v zvezku 20 listov, bi želel njihova imena na prvem listu v celicah A1 do A20.
hvala za pomoč
kako do imen listov
Pozdravljeni,
Najlažje s preprostim makrom, ki vam ga prilagam spodaj:
V makru samo ustrezno popravite:
Najlažje s preprostim makrom, ki vam ga prilagam spodaj:
Koda: Izberi vse
' www.matjazev.net
' 13.02.2006
Sub NarediSeznamVsehListov()
Dim PisiNa As Worksheet
Set PisiNa = Worksheets("list4")
Dim vrstica As Long, kolona As Long
vrstica = 1: kolona = 1
Dim list As Worksheet
For Each list In Worksheets
PisiNa.Cells(vrstica, kolona) = list.Name
vrstica = vrstica + 1
Next
End Sub
- Ime lista, kjer želite rezultat (zamenjajte List4 z imenom vašega lista)
- Določite prvo vrstico in kolono, kjer želite rezultate. Makro bo imena listov polnil od tam dalje po vrsticah navzdol
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Pozdravljeni!
Poimenovanje listov v zvezku imam jaz rešeno z naslednjo kodo, ki deluje na vsakem listu (aktivnem):
Kje sem dobil to kodo ne vem, ali na tem ali kakem drugem forumu, ali sem jo pisal sam, ali samo kaj priredil, ker je že kar nekaj časa od tega.
Nato pa sem si zadal nalogo, da bi nek makro pogledal ali obstaja kakšen list z npr. imenom "Imena listov" in tam posodobil, (prepisal,napisal) ponovno vse liste v zvezku. Če lista z imenom ne najde, naj ga ustvari in
potem napiše vsa imena listov. Ob tem pa naj še naredi linke do vsakega lista. Torej, ko klikneš na celico z imenom lista, naj ta list postane aktiven. Malo sem snemal, pisal, prirejal snemano in se dokopal do sledečega:
Verjetno se profesionalcu zdi tole zgoraj napisano čudno in bi imel kar nekaj pripomb, ali pa bi stvar rešil kako drugače! No, stvar čisto v redu dela, razen ene stvari: linki do listov z eno besedo delajo, z dvema pa
ne! "Sklic neveljaven" napiše. In zdaj me zanima zakaj? Aja pa popraviti sem moral prvi makro tako, da je ta zdaj takle:
Torej zdaj oba makra zgledata takole:
Upam, da sem bil jasen kje je težava, pa tudi kakšnega nasveta se nebi branil
lp,
Cedra
Poimenovanje listov v zvezku imam jaz rešeno z naslednjo kodo, ki deluje na vsakem listu (aktivnem):
Koda: Izberi vse
Sub Imena_listov()
Dim i As Integer
For i = 1 To Sheets.Count
Cells(i, 1) = Sheets(i).Name
Next i
'V celico D1 pa vpiše št. vseh listov
Range("D1") = "Vseh listov v zvezku = " & Sheets.Count
End Sub
Nato pa sem si zadal nalogo, da bi nek makro pogledal ali obstaja kakšen list z npr. imenom "Imena listov" in tam posodobil, (prepisal,napisal) ponovno vse liste v zvezku. Če lista z imenom ne najde, naj ga ustvari in
potem napiše vsa imena listov. Ob tem pa naj še naredi linke do vsakega lista. Torej, ko klikneš na celico z imenom lista, naj ta list postane aktiven. Malo sem snemal, pisal, prirejal snemano in se dokopal do sledečega:
Koda: Izberi vse
Sub Poisci_ustvari()
'Napiši vsa imena listov
For i = 1 To Sheets.Count
If Sheets(i).Name = "Imena listov" Then
Sheets(i).Select
Imena_listov 'Tukaj se vrne v zgornji makro
Exit Sub
End If
Next i
Sheets(Array(Sheets.Count)).Select
Sheets(Array(Sheets.Count)).Copy after:=Sheets(Sheets.Count)
Cells.Select
Selection.Delete Shift:=xlUp
Range("A1").Select ' Da ne ostane cel list označen
Sheets(Sheets.Count).Name = "Imena listov"
Imena_listov
End Sub
ne! "Sklic neveljaven" napiše. In zdaj me zanima zakaj? Aja pa popraviti sem moral prvi makro tako, da je ta zdaj takle:
Koda: Izberi vse
Sub Imena_listov()
Dim i As Integer
For i = 1 To Sheets.Count
Cells(i, 1) = Sheets(i).Name
'Dodano zaradi linkov
ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 1), Address:="", _
SubAddress:=Cells(i, 1).Value & "!A" & i, TextToDisplay:=Cells(i, 1).Value
'konec dodanega
Next i
Range("D1") = "Vseh listov v zvezku = " & Sheets.Count
End Sub
Koda: Izberi vse
Sub Imena_listov()
Dim i As Integer
For i = 1 To Sheets.Count
Cells(i, 1) = Sheets(i).Name
'Dodano zaradi linkov
ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 1), Address:="", _
SubAddress:=Cells(i, 1).Value & "!A" & i, TextToDisplay:=Cells(i, 1).Value
'konec dodanega
Next i
Range("D1") = "Vseh listov v zvezku = " & Sheets.Count
End Sub
'========================================
Sub Poisci_ustvari()
'Napiši vsa imena listov
For i = 1 To Sheets.Count
If Sheets(i).Name = "Imena listov" Then
Sheets(i).Select
Imena_listov 'Tukaj se vrne v zgornji makro
Exit Sub
End If
Next i
Sheets(Array(Sheets.Count)).Select
Sheets(Array(Sheets.Count)).Copy after:=Sheets(Sheets.Count)
Cells.Select
Selection.Delete Shift:=xlUp
Range("A1").Select ' Da ne ostane cel list označen
Sheets(Sheets.Count).Name = "Imena listov"
Imena_listov
End Sub
lp,
Cedra
Pozdravljeni,
V algoritem se ne bom spuščal, ker pravite da vam deluje. Problem je samo pri povezavi in ta se pojavi zaradi presledkov v imenu. Kodo za povezavo popravite tako, da ime zaprete v enojne narekovaje, kot sem zapisal spodaj:
PAZITE na enojni narekovaj pred Cells in pred "!A".
V algoritem se ne bom spuščal, ker pravite da vam deluje. Problem je samo pri povezavi in ta se pojavi zaradi presledkov v imenu. Kodo za povezavo popravite tako, da ime zaprete v enojne narekovaje, kot sem zapisal spodaj:
Koda: Izberi vse
ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 1), _
Address:="", _
SubAddress:="'" & Cells(i, 1).Value & "'!A" & i, _
TextToDisplay:=Cells(i, 1).Value
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator