Forumi
Home Pravila i pomoć Članovi Kalendar Današnji postovi


Povratak   PC Ekspert Forum > Računala > Software > Web dizajn, programiranje i ostalo
Ime
Lozinka

Odgovori
 
Uređivanje
Staro 05.02.2010., 12:59   #1
sinke01
Premium
Moj komp
 
sinke01's Avatar
 
Datum registracije: Jun 2008
Lokacija: zgb
Postovi: 55
Excel-shortcut za pomicanje po sheetovima

Pozdrav,
u Excelu mi treba makro kojim bi kreirao keyboard shortcut za pomicanje po sheetovima.

zasad imam ovo:

Sub next_sheet()
'
' next_sheet Macro
'
' Keyboard Shortcut: Ctrl+r
'
ActiveSheet.Next.Select

End Sub

međutim, problem je kad sam na zadnjem sheetu, i treba se vratiti na početni (prvi) sheet. tada javlja error.
sinke01 je offline   Reply With Quote
Staro 05.02.2010., 19:12   #2
buzz11
Premium
 
Datum registracije: Oct 2006
Lokacija: Zagreb
Postovi: 89
Ovako nekako na brzinu. Dva su shortcuta jer bi se trebao sad pozabavit kako sa jednim aktivirat jedan za drugim pa na zadnjem vratit na prvi.
Sa ovom petljom izbjegavaš grešku kad dođe na zadnji(prvi) sheet.
Jedino ne kužim šta će ti to kad ti to isto radi Ctrl + PageUp/PageDown (po defaultu je tako)

Sub next_sheet()
'Shortcut: Ctrl + r
Set sh = ActiveSheet
On Error Resume Next
Do While sh.Next.Visible <> xlSheetVisible
If Err <> 0 Then Exit Do
Set sh = sh.Next
Loop
sh.Next.Activate
On Error GoTo 0
End Sub
Sub previous_sheet()
'Shortcut: Ctrl + e
Set sh = ActiveSheet
On Error Resume Next
Do While sh.Previous.Visible <> xlSheetVisible
If Err <> 0 Then Exit Do
Set sh = sh.Previous
Loop
sh.Previous.Activate
On Error GoTo 0
End Sub
buzz11 je offline   Reply With Quote
Oglasni prostor
Oglas
 
Oglas
Staro 05.02.2010., 19:53   #3
sinke01
Premium
Moj komp
 
sinke01's Avatar
 
Datum registracije: Jun 2008
Lokacija: zgb
Postovi: 55
Puno hvala, Buzz. ovo je ok. ako ti se da, napiši taj dio za vraćanje na prvi sheet.

Ctrl + PageUp/PageDown mi je totalno neergonomično, ova kombinacija mi je puno bolja.
sinke01 je offline   Reply With Quote
Staro 05.02.2010., 20:13   #4
buzz11
Premium
 
Datum registracije: Oct 2006
Lokacija: Zagreb
Postovi: 89
Sub GotoFirstSheet()
On Error Resume Next
Sheets("Sheet1").Activate
End Sub

Ovo pali samo ako se prvi sheet zove Sheet1 što je po defaultu. Za ostalo se malo pomuči :-)
Onaj prvi kod vrijedi i ako između sheetova postoje skriveni sheetovi.
buzz11 je offline   Reply With Quote
Staro 06.02.2010., 16:15   #5
sinke01
Premium
Moj komp
 
sinke01's Avatar
 
Datum registracije: Jun 2008
Lokacija: zgb
Postovi: 55
ova zadnja Sub procedura ti ne radi. ona prebaci na slijedeći, pa automatski vraća na početni sheet.
sinke01 je offline   Reply With Quote
Staro 06.02.2010., 18:10   #6
buzz11
Premium
 
Datum registracije: Oct 2006
Lokacija: Zagreb
Postovi: 89
Ta zadnja radi točno to što treba. Vraća na prvi i ništa više od toga.
buzz11 je offline   Reply With Quote
Staro 06.02.2010., 18:15   #7
buzz11
Premium
 
Datum registracije: Oct 2006
Lokacija: Zagreb
Postovi: 89
Ne znam otkud ti da prebaci na slijedeći? Prve dvije su za pomicanje po sheetovima. Zadnja iz bilo kojeg samo vraća na prvi. Ako je prvi aktivan onda se ništa ne dešava.
buzz11 je offline   Reply With Quote
Staro 19.02.2010., 09:37   #8
sinke01
Premium
Moj komp
 
sinke01's Avatar
 
Datum registracije: Jun 2008
Lokacija: zgb
Postovi: 55
Rješio sam problem.



Za pomicanje unaprijed:


Sub next_sheet()
'
' next_sheet Macro
'
' Keyboard Shortcut: Ctrl+r
'
On Error GoTo firstsheet
ActiveSheet.Next.Select
Exit Sub
firstsheet:
Sheets(1).Select
End Sub


Za pomicanje unatrag:

Sub previous_sheet()
'
' previous_sheet Macro
'
' Keyboard Shortcut: Ctrl+e
'
On Error GoTo lastsheet
ActiveSheet.Previous.Select
Exit Sub
lastsheet:
Sheets(3).Select
End Sub



Za pomicanje unatrag ne znam kako bih definirao "zadnji sheet", pa sam stavio 3.po redu. Nije savršeno, ali je dovoljno dobro za mene.
sinke01 je offline   Reply With Quote
Oglasni prostor
Oglas
 
Oglas
Odgovori



Pravila postanja
Vi ne možete otvarati nove teme
Vi ne možete pisati odgovore
Vi ne možete uploadati priloge
Vi ne možete uređivati svoje poruke

BB code je Uključeno
Smajlići su Uključeno
[IMG] kod je Uključeno
HTML je Isključeno

Idi na