Macro Untuk Melihat Dan Menyembunyikan Comment Excel




Mungkin anda pernah mempresentasikan data Macro Untuk Melihat dan Menyembunyikan Comment Excel
MS Excel Comment
Mungkin anda pernah mempresentasikan data-data dalam Microsoft excel dimana setiap data harus dijelaskan dengan insert comment. Masalah yang dijumpai dan cukup merepotkan pada ketika presentasi yaitu sbb:

Untuk melihat exel comment biasanya dengan cara memposisikan kursor pada cell yang ada commentnya. 

Masalahnya Jika cell ada di sisi kanan kanan visible range, maka untuk melihat comment harus menggeser layar komputer ke kanan. 



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

Bagi saya ini cukup melelahkan bila setiap melihat comment harus melaksanakan mekanisme ini. 

Belum lagi kalau box komentar posisinya sangat jauh dari sel daerah komentar tersemat. Sehingga sering terbesit pertanyaan kenapa harus ada insert comment yang panjang dalam materi presentasi?

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

Dan diakui atau tidak, tidak ada cara lain untuk melipatgandakan kemampuan excel selain fitur vba dan macro, termasuk dalam hal " memainkan" komentar excel.


Wow, dengan vba dan macro kita bisa melaksanakan show/hide comment dengan lebih cepat dan tidak perlu khawatir wacana posisi comment box. Cukup copy script berikut pada modul object dan buat keyboard short cut untuk memudahkan menjalankan 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 menjalankan code ini kita sanggup melihat/menyembunyikan comment box secara bergantian tergantung kondisi activecell pada ketika code akan dijalankan. Contoh code berikut menggabungkan 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 dijalankan secara otomatis ketika cells diseleksi. 

Untuk menjalankan fungsi ini, code harus diletakan pada module worksheet memakai worksheet selection change event. Comment box akan muncul 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

0 Response to "Macro Untuk Melihat Dan Menyembunyikan Comment Excel"

Posting Komentar