[belajar-excel] [Belajar Excel] Fungsi Navigasi pake Macro

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[belajar-excel] [Belajar Excel] Fungsi Navigasi pake Macro

MAMUDA PONTIM
Dear Pakar Be-Exceler
langsung to the point.
Misalnya kita punya 5 sheet. Kita mengakses file tesebut berturut-turut sbb:
1. Sheet 3
2. Sheet 4
3. Sheet 1
4. Sheet 5
5. Sheet 2
Jadi sekarang kita berada di Sheet2. 
Masalahnya, bagaimana membuat kode macro yang bisa membawa kita kembali ke sheet yang sebelumnya kita akses- Sheet5- (Seperti fungsi BACK pada browser).kemudian ada fungsi lagi untuk kembali ke sheet yang baru diakses atau Sheet2 (Forward, atau apa istilahnya). 
Dengan catatan, fungsi Back tadi bisa mengembalikan sampai ke sheet yang pertama kali kita buka (sheet3).
Mohon maaf, kalau kurang dipahami, saya agak kesulitan menjelaskannya.
Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] [Belajar Excel] Fungsi Navigasi pake Macro

Franciscus SOG
Dear Mamuda,

Semoga membantu. Berikut cuplikan vba-nya :

Option Explicit
Dim i, posisi As Variant

Sub PosisiSheet()
For i = 1 To Sheets.Count
    If Sheets(i).Name = ActiveSheet.Name Then posisi = i
Next i
End Sub

Private Sub cmdBack_Click()
Call PosisiSheet
If posisi = 1 Then
    MsgBox "Tidak ada lagi sheets sebelum ini", vbExclamation, "Inform.."
Else
    Sheets(posisi - 1).Activate
End If
End Sub

Private Sub cmdNext_Click()
Call PosisiSheet
If posisi = Sheets.Count Then
    MsgBox "Tidak ada lagi sheets sesudah ini", vbExclamation, "Inform.."
Else
    Sheets(posisi + 1).Activate
End If
End Sub

CMIIW

Blessings,

Fran'z


On 6/12/11, MAMUDA PONTIM <[hidden email]> wrote:

> Dear Pakar Be-Exceler
> langsung to the point.
> Misalnya kita punya 5 sheet. Kita mengakses file tesebut berturut-turut sbb:
> 1. Sheet 3
> 2. Sheet 4
> 3. Sheet 1
> 4. Sheet 5
> 5. Sheet 2
> Jadi sekarang kita berada di Sheet2.
> Masalahnya, bagaimana membuat kode macro yang bisa membawa kita kembali ke
> sheet yang sebelumnya kita akses- Sheet5- (Seperti fungsi BACK pada
> browser).kemudian ada fungsi lagi untuk kembali ke sheet yang baru diakses
> atau Sheet2 (Forward, atau apa istilahnya).
> Dengan catatan, fungsi Back tadi bisa mengembalikan sampai ke sheet yang
> pertama kali kita buka (sheet3).
> Mohon maaf, kalau kurang dipahami, saya agak kesulitan menjelaskannya.

fran'z_NavigationSheet 20110612.xls (106K) Download Attachment
Kid
Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] [Belajar Excel] Fungsi Navigasi pake Macro

Kid
Administrator
In reply to this post by MAMUDA PONTIM
Dear Mamuda,

File terlampir belum menyertakan adanya perubahan jumlah sheet akibat proses
delete sheet atau move ke workbook lain.
Masing-masing sheet memiliki 4 tombol, yaitu << >> Back Forward

Tombol << dan >> untuk navigasi sheet mengikuti index sheet dalam workbook.
Tombol Back dan Forward untuk navigasi sheet yang pernah diaktifkan saja.
Pengujian dan pengembangan lebih lanjut dibutuhkan agar sesuai kebutuhan.

Prosedur untuk navigasi mengikuti index sheet dalam workbook adalah :
Public Sub PindahSheetIndex(lArah As Long)
    Dim lIdx As Long
    lIdx = ActiveSheet.Index
    If lIdx = Worksheets.Count Then
        If lArah > 0 Then
            MsgBox "Tidak ada sheet lagi setelah ini.", vbExclamation,
"Mentok"
            Exit Sub
        End If
    ElseIf lIdx = 1 Then
        If lArah < 0 Then
            MsgBox "Tidak ada sheet lagi sebelum ini.", vbExclamation,
"Mentok"
            Exit Sub
        End If
    End If
    Worksheets(lIdx + lArah).Activate
End Sub

Dengan event click pada tombol << adalah :
Private Sub CommandButton1_Click()
    PindahSheetIndex -1
End Sub

dan event click pada tombol >> adalah :
Private Sub CommandButton2_Click()
    PindahSheetIndex 1
End Sub

Untuk navigasi pada sheet yang pernah diaktifkan saja, membutuhkan variabel
:
sShtIdx sebagai penyimpan nama-nama sheet yang pernah diaktifkan
lCurSht sebagai penyimpan posisi nama sheet yang pernah diaktifkan yang
sedang aktif
bUpdate sebagai status ijin update nama-nama sheet yang pernah diaktifkan

Proses navigasi menggunakan prosedur :
Public Sub PindahSheetByList(lArah As Long)
    Dim sIdx() As String
    Dim lIdx As Long

    If lCurSht < 1 Then
        lCurSht = 1
        sShtIdx = ActiveSheet.Name & ";"
    End If

    sIdx = Split(sShtIdx, ";")
    lIdx = UBound(sIdx)

    If lCurSht = 1 Then
        If lArah < 0 Then
            MsgBox "Sheet ini yang pertama kali diaktifkan.", vbExclamation,
"Mentok"
            Exit Sub
        End If
    End If

    If lCurSht = lIdx Then
        If lArah > 0 Then
            MsgBox "Sheet ini yang diaktifkan terakhir kali.",
vbExclamation, "Mentok"
            Exit Sub
        End If
    End If

    lCurSht = lCurSht + lArah
    bUpdate = True
    Worksheets(sIdx(lCurSht - 1)).Activate

    'batasi jumlah sheet dalam list yang telah diaktifkan, bisa ditambahkan
disini
End Sub

Dengan event click pada tombol Back adalah :
Private Sub CommandButton3_Click()
    PindahSheetByList -1
End Sub

dan event click pada tombol Forward adalah :
Private Sub CommandButton4_Click()
    PindahSheetByList 1
End Sub

Proses navigasi pada sheet yang pernah diaktifkan juga membutuhkan
inisialisasi pertama pada event workbook open berupa :
Private Sub Workbook_Open()
    sShtIdx = ActiveSheet.Name & ";"
    lCurSht = 1
End Sub

dan proses update nama-nama sheet dalam daftar pada event workbook sheet
activate berupa :
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Dim sIdx() As String

    If Not bUpdate Then
        sShtIdx = sShtIdx & Sh.Name & ";"
        sIdx = Split(sShtIdx, ";")
        lCurSht = UBound(sIdx)
    Else
        bUpdate = False
    End If
End Sub

Silakan dikembangkan dan dikoreksi jika masih terdapat error.

Regard,
Kid.

2011/6/12 MAMUDA PONTIM <[hidden email]>

>
>
> Dear Pakar Be-Exceler
> langsung to the point.
> Misalnya kita punya 5 sheet. Kita mengakses file tesebut berturut-turut
> sbb:
> 1. Sheet 3
> 2. Sheet 4
> 3. Sheet 1
> 4. Sheet 5
> 5. Sheet 2
> Jadi sekarang kita berada di Sheet2.
> Masalahnya, bagaimana membuat kode macro yang bisa membawa kita kembali ke
> sheet yang sebelumnya kita akses- Sheet5- (Seperti fungsi BACK pada
> browser).kemudian ada fungsi lagi untuk kembali ke sheet yang baru diakses
> atau Sheet2 (Forward, atau apa istilahnya).
> Dengan catatan, fungsi Back tadi bisa mengembalikan sampai ke sheet yang
> pertama kali kita buka (sheet3).
> Mohon maaf, kalau kurang dipahami, saya agak kesulitan menjelaskannya.
>
>  
>
>

re-navigasi_sheet.xls (147K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

RE: [belajar-excel] [Belajar Excel] Fungsi Navigasi pake Macro

agung_widodo
In reply to this post by MAMUDA PONTIM
Ada pilihan lain yang ditawarkan oleh Excel yang excellent,
Tidak sekedar Back to last location,
Namun ke lokasi lain yang pernah kita klik.

Namanya Add Watch,

Lokasinya Ada di klik kanan Mouse.
Menurut saya fungsi ini lebih keren dibanding tombol Back pada browser yang bersifat serial
Add Watch bisa bersifat parallel ke lokasi manapun yang pernah kita Addwatchkan, Meski di Workbook lain sekalipun

Salam
Agung Widodo

________________________________
From: [hidden email] [mailto:[hidden email]] On Behalf Of MAMUDA PONTIM
Sent: Sunday, June 12, 2011 4:14 PM
To: [hidden email]
Subject: [belajar-excel] [Belajar Excel] Fungsi Navigasi pake Macro



Dear Pakar Be-Exceler
langsung to the point.
Misalnya kita punya 5 sheet. Kita mengakses file tesebut berturut-turut sbb:
1. Sheet 3
2. Sheet 4
3. Sheet 1
4. Sheet 5
5. Sheet 2
Jadi sekarang kita berada di Sheet2.
Masalahnya, bagaimana membuat kode macro yang bisa membawa kita kembali ke sheet yang sebelumnya kita akses- Sheet5- (Seperti fungsi BACK pada browser).kemudian ada fungsi lagi untuk kembali ke sheet yang baru diakses atau Sheet2 (Forward, atau apa istilahnya).
Dengan catatan, fungsi Back tadi bisa mengembalikan sampai ke sheet yang pertama kali kita buka (sheet3).
Mohon maaf, kalau kurang dipahami, saya agak kesulitan menjelaskannya.


Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] [Belajar Excel] Fungsi Navigasi pake Macro

MAMUDA PONTIM
Terimakasih banyak atas bantuan Mr Kid. Kodenya berfungsi dengan baik. Saya akan coba pelajari lagi lebih lanjut.
Untuk pak Agung, Saya coba klik kanan mouse, tapi tidak ada tulisan Add Watch. Saya cari di Help, juga gak ketemu.

Thanks


________________________________
From: "[hidden email]" <[hidden email]>
To: [hidden email]
Sent: Monday, June 13, 2011 10:36 AM
Subject: RE: [belajar-excel] [Belajar Excel] Fungsi Navigasi pake Macro


 
Ada pilihan lain yang ditawarkan oleh Excel yang
excellent,
Tidak sekedar Back to last location,
Namun ke lokasi lain yang pernah kita
klik.
 
Namanya Add Watch,
 
Lokasinya Ada di klik kanan Mouse.
Menurut saya fungsi ini lebih keren dibanding tombol Back pada
browser yang bersifat serial
Add Watch bisa bersifat parallel ke lokasi manapun yang pernah
kita Addwatchkan, Meski di Workbook lain sekalipun
 
Salam
Agung Widodo


________________________________
 From: [hidden email]
[mailto:[hidden email]] On Behalf Of MAMUDA
PONTIM
Sent: Sunday, June 12, 2011 4:14 PM
To: [hidden email]
Subject: [belajar-excel] [Belajar Excel]
Fungsi Navigasi pake Macro

 
Dear Pakar Be-Exceler
langsung to the point.
Misalnya kita punya 5 sheet. Kita mengakses file tesebut berturut-turut
sbb:
1. Sheet 3
2. Sheet 4
3. Sheet 1
4. Sheet 5
5. Sheet 2
Jadi sekarang kita berada di Sheet2. 
Masalahnya, bagaimana membuat kode macro yang bisa membawa kita kembali ke
sheet yang sebelumnya kita akses- Sheet5- (Seperti fungsi BACK pada
browser).kemudian ada fungsi lagi untuk kembali ke sheet yang baru diakses atau
Sheet2 (Forward, atau apa istilahnya). 
Dengan catatan, fungsi Back tadi bisa mengembalikan sampai ke sheet yang
pertama kali kita buka (sheet3).
Mohon maaf, kalau kurang dipahami, saya agak kesulitan
menjelaskannya.