PC Ekspert Forum

PC Ekspert Forum (https://forum.pcekspert.com/index.php)
-   Web dizajn, programiranje i ostalo (https://forum.pcekspert.com/forumdisplay.php?f=39)
-   -   Excel-shortcut za pomicanje po sheetovima (https://forum.pcekspert.com/showthread.php?t=177161)

sinke01 05.02.2010. 12:59

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.

buzz11 05.02.2010. 19:12

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

sinke01 05.02.2010. 19:53

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.

buzz11 05.02.2010. 20:13

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.

sinke01 06.02.2010. 16:15

ova zadnja Sub procedura ti ne radi. ona prebaci na slijedeći, pa automatski vraća na početni sheet.

buzz11 06.02.2010. 18:10

Ta zadnja radi točno to što treba. Vraća na prvi i ništa više od toga.

buzz11 06.02.2010. 18:15

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.

sinke01 19.02.2010. 09:37

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.


Sva vremena su GMT +2. Sada je 11:02.

Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 1999-2024 PC Ekspert - Sva prava pridržana ISSN 1334-2940
Ad Management by RedTyger