Belajar Microsoft Excel: Macro Untuk Menyaksikan Dan Menyembunyikan Comment Excel

show hide comment excel
MS Excel Comment

Mungkin anda pernah mempresentasikan data-data dalam Microsoft excel dimana setiap data mesti diterangkan dengan insert comment. Masalah yang ditemui dan cukup menyibukkan pada dikala penyajian merupakan sbb:

Untuk menyaksikan exel comment lazimnya dengan cara memposisikan kursor pada cell yang ada commentnya. 

Masalahnya Jika cell ada di segi kanan kanan visible range , maka untuk menyaksikan comment mesti memindah layar komputer ke kanan. 

Jika comment cukup panjang , mau tidak mau mesti klik kanan dan show comment untuk menyaksikan text comment hingga ke ujung bawah. 

Bagi saya ini cukup bikin kecapekan apabila setiap menyaksikan comment mesti melaksanakan mekanisme ini. 

Belum lagi apabila box komentar posisinya sungguh jauh dari sel kawasan komentar tersemat. Sehingga sering terbesit pertanyaan kenapa mesti ada insert comment yang panjang dalam materi presentasi?

Susahnya menyisipkan dan mereview komentar pada data excel saya alami dahulu sebelum mengenal macro dan vba. 

Dan diakui atau tidak , tidak ada cara lain untuk melipatgandakan kesanggupan excel selain fitur vba dan macro , tergolong dalam hal ” memainkan” komentar excel.


Wow , dengan vba dan macro kita bisa melaksanakan show/hide comment dengan lebih singkat dan tidak perlu kalut wacana posisi comment box. Cukup copy script berikut pada modul object dan buat keyboard short cut untuk mempermudah melaksanakan perintah tersebut


1. Show /Melihat comment dan memposisikannya sempurna dibawah dan sebelah kanan cell

Sub showCommentKanan()

On Error GoTo skipError

    With ActiveCell.Comment.Shape
        .Top = ActiveCell.Offset(1 , 0).Top
        .Left = ActiveCell.Offset(0 , 1).Left + 2
        .Parent.Visible = True
    End With
skipError:
End Sub

2. Show /Melihat comment dan memposisikannya sempurna dibawah kiri activecell

Sub  showCommentKiri()
On Error GoTo skipError
    With ActiveCell.Comment.Shape
        .Top = ActiveCell.Offset(1 , 0).Top
        .Left = ActiveCell.Offset(0 , 1).Left Р.Width + 2
        .Parent.Visible = True
    End With
skipError:
End Sub

3. Show /Melihat comment dan memposisikannya sempurna dibawah tengah activecell

Sub showCommentTengah()
On Error GoTo skipError
    With ActiveCell.Comment.Shape
        .Top = ActiveCell.Offset(1 , 0).Top
        .Left = ActiveCell.Offset(0 , 1).Left Р.Width / 2
        .Parent.Visible = True
    End With
skipError:
End Sub

4. Menyembunyikan / hide comment sekaligus reset  comment box pada posisi standar

Sub hideComment()
On Error GoTo skipError
    With ActiveCell.Comment.Shape
        .Parent.Visible = True
        .Top = ActiveCell.Top Р7
        .Left = ActiveCell.Offset(0 , 1).Left + 11
    End With
skipError:
End Sub

5. Show Comment  serta menempatkan pada lebar visible range.  

Sub showCommentAuto()
Dim vr As Range
Set vr = ActiveWindow.VisibleRange
On Error GoTo skipError
    With ActiveCell.Comment.Shape
        .Top = ActiveCell.Offset(1 , 0).Top
        .Left = ActiveCell.Offset(0 , 1).Left + 2
        If .Left + .Width > vr.Left + vr.Width Then
            .Left = vr.Left + vr.Width Р.Width
        End If
        .Parent.Visible = True
    End With
skipError:
End Sub

6. Show dan Hide Comment dengan satu code sekaligus 


(Saya Sarankan Menggunakan Code ini). Dengan melaksanakan code ini kita sanggup melihat/menyembunyikan comment box secara bergantian tergantung keadaan activecell pada dikala code akan dijalankan. Contoh code berikut memadukan showCommentAuto (no 5) dan code untuk menyembunyikan comment box.


Sub showHideCommentAuto()
Dim vr As Range
Set vr = ActiveWindow.VisibleRange
If Not (ActiveCell.Comment Is Nothing) Then
    If ActiveCell.Comment.Visible = False Then
    With ActiveCell.Comment.Shape
        .Top = ActiveCell.Offset(1 , 0).Top
        .Left = ActiveCell.Offset(0 , 1).Left + 2
        If .Left + .Width > vr.Left + vr.Width Then
            .Left = vr.Left + vr.Width Р.Width
        End If
        .Parent.Visible = True
    End With
    Else
        ActiveCell.Comment.Visible = False
    End If
End If
End Sub

7. Show dan hide comment juga sanggup ditangani secara otomatis di saat cells diseleksi. 

Untuk melaksanakan fungsi ini , code mesti diletakan pada module worksheet menggunakan worksheet selection change event. Comment box akan timbul otomatis sesuai cell yang diseleksi.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim vr As Range
Set vr = ActiveWindow.VisibleRange
Application.DisplayCommentIndicator = xlCommentIndicatorOnly
If Not (ActiveCell.Comment Is Nothing) Then
        With ActiveCell.Comment.Shape
        .Top = ActiveCell.Offset(1 , 0).Top
        .Left = ActiveCell.Offset(0 , 1).Left + 2
        If .Left + .Width > vr.Left + vr.Width Then
            .Left = vr.Left + vr.Width Р.Width
        End If
        .Parent.Visible = True
    End With
End If
End Sub

Baca Juga  Belajar Microsoft Excel: Mengisi Data Pada Beberapa Worksheet Sekaligus
Need Help? Chat with us