|
![]() |
#1 |
Premium
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. |
![]() |
![]() |
![]() |
#2 |
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 |
![]() |
![]() |
|
|
Oglas
|
|
![]() |
#4 |
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. |
![]() |
![]() |
![]() |
#6 |
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. |
![]() |
![]() |
![]() |
#7 |
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. |
![]() |
![]() |
![]() |
#8 |
Premium
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. |
![]() |
![]() |
|
|
Oglas
|
|
![]() |
|
|