Saturday, February 28, 2015

Menghapus Hyperlinks Tanpa Merubah Format

Pada saat kita membuat hyperlinks pada microsoft excel, secara default format sel akan berubah menjadi font warna biru bergaris bawah. Jika kita menginginkan format yang lain,  maka kita dapat merubahnya kemudian. Proses sebaliknya, ketika kita menghapus hyperlink dengan cara biasa (klik kanan - remove hyperlink), maka secara default, format akan di-clear-kan menjadi font warna hitam tanpa garis bawah.

Berikut contoh ilustrasinya:
Format hyperlink excel
Remove Hyperlink Mengembalikan Format Ke Kondisi Default


Jika kita ingin menghapus hyperlinks tanpa merubah format maka cara berikut mungkin akan membantu.
  • Copy file atau worksheet dimana hyperlinks akan dihapus.  Hal ini berguna sebagai back up.
  • Hapus data yang ada hyperliknya dengan menggunakan tombol DELETE atau  dengan cara Clear Contents. Pada proses ini, hyperlink ikut terhapus bersama data.
  • Kembalikan data yang sudah dihapus tadi dengan cara copy-paste special formula dari file/worksheet back up.
Berikut Contoh Ilustrasinya:
Cara Format Hyperlink Excel
Remove Hyperlink Tanpa Merubah Format

Friday, February 27, 2015

Excel Comment - Macro Untuk Konversi Data Tabel Menjadi Text dalam satu Kolom

Konversi Data Tabel Menjadi Text dalam satu Kolom

Pada tulisan sebelumnya sudah dijelaskan bagaimana caranya mengkonversi text dalam range kolom menjadi text dalam comment box. Proses ini menggunakan prosedur makro yang saya namai convertColumnToCmt .

Dalam beberpa kasus, adakalanya kita harus menyertakan table ke dalam comment. Prosedur makro convertColumnToCmt masih mempunyai kelemahan yaitu ia hanya dapat mengkonversi text dari satu kolom saja. Sedangkan table, seperti kita ketahui terdiri atas beberapa kolom.  Sehingga, untuk dapat menyertakan table kedalam comment,  maka diperlukan prosedur untuk mengkonversi tabel terlebih dahulu menjadi text dalam satu kolom

Part1: Font Type Mono Space

Pada bagian pertama ini saya akan jelaskan cara membuat prosedur macro untuk menggabungkan data table kedalam satu kolom jika font yang digunakan adalah type mono space. Penggunaan font tipe lainnya akan dijelaskan dalam bagian kedua karena memerlukan pendekatan dan prosedur khusus.

Saya sendiri lebih suka menggunakan font type monospace karena kerapian text akan  lebih stabil meskipun ada perubahan pada size font maupun zoom windows. Contoh font mono space yang  biasa digunakan adalah: courier new dan arial monospaced for sap.

Berikut adalah contoh script untuk konversi data tabel menjadi text dalam satu kolom (dengan kata lain : menggabungkan data tabel yang terdiri beberapa kolom menjadi satu kolom saja).

Copykan script berikut pada module standar, dan buat shortcut untuk menjalankan macro-nya.


Sub convertTableToColumn()
Dim r As Range, tabel As Range, xTabel As Range
Dim x As Integer, y As Long, xMax As Long, yMax As Long
Dim textTabel As String, spMax As Integer, sp As Double
Dim spAwal As Double, textSp As String
Set tabel = Selection
Set r = Application.InputBox( _
prompt:="Pilih Satu Sel Untuk Menempatkan Text Tabel", Type:=8)
spAwal = InputBox("Masukan Jarak Spasi", "", 2)
xMax = tabel.Rows.Count
yMax = tabel.Columns.Count
Application.ScreenUpdating = False
For y = 1 To yMax
    spMax = 0
    For x = 1 To xMax
        Set xTabel = tabel.Range(Cells(x, y), Cells(x, y))
        textTabel = Trim(xTabel.Text)
        If Len(textTabel) > spMax Then spMax = Len(textTabel)
    Next x
    For x = 1 To xMax
        Set xTabel = tabel.Range(Cells(x, y), Cells(x, y))
        textTabel = Trim(xTabel.Text)
        sp = spAwal + spMax - Len(textTabel)
        textSp = WorksheetFunction.Rept(" ", sp)
        If y = 1 Then
            textTabel = textTabel & textSp
            r.Offset(x - 1, 0).ClearContents
        Else
            textTabel = textSp & textTabel
        End If
        r.Offset(x - 1, 0) = r.Offset(x - 1, 0) & textTabel
    Next x
Next y
End Sub


 Cara penggunaan prosedur makro ini

  • Sorot table yang akan di konversi
  • Jalankan macro ini
  • Pilih cell tempat dimana table hasil konversi akan ditempatkan
  • Ok
  • Hasilnya: text table digabung menjadi satu kolom
Macro Menggabungkan Tabel Kolom

Semoga bermanfaat... :-)

Thursday, February 26, 2015

Memberi Nama Cell dan Range Pada Microsoft Excel Menggunakan Name Box

Nama sel atau range pada microsoft excel sangat berguna untuk berbagai keperluan diantaranya:

  • Nama sel yang diidentifikasikan sendiri oleh user lebih mudah diingat dibandingkan dengan refferensi range/sel default excel. Misalnya kita akan lebih mengingat "dataku" dibanding "data!A1",  atau lebih mudah mengingat "kumpulanDataku" dibanding ""data!A1:A13"
  • Lebih mudah digunakan sebagai referensi dalam pembuatan formula, terutama jika file excel terdiri atas banyak worksheet. dan formula merujuk ke referensi sumber yang tetap.
  • Lebih digunakan sebagai referensi target hyperlink.
  • Lebih mudah digunakan sebagai referensi dalam penulisan code VBA
  • Lebih mudah digunakan sebagai list data untuk data validasi.
Untuk membuat nama sel/range dapat dilakukan dengan cara berikut:

Menggunakan Name Box

Cara termudah untuk cembuat/identifikasi nama range adalah dengan menggunakan Name Box

Name Box biasanya terlepas di kiri atas layar excel.
Memberi Nama Cell dan Range Excel
Ilustrasi Name Box dan Range
Untuk membuat nama range dapat dilakukan sbb:
  • Sorot range yang akan dibuat namanya (contoh dalam gambar diatas adalah "A1:A13")
  • Ketikan nama yang diinginkan pada Name Box
  • Tekan Enter
Format Penamaan Range/Cell Yang /Benar

  • Karakter yang diperbolehkan adalah alfabet, numerik dan "_"
  • Tidak dapat diawali dengan karakter numerik, jadi harus diawali dengan alfabet, misal nama "1data", adalah salah dan tidak dapat diterima program excel.
  • Tidak boleh ada spasi, misal  "kumpulan data" adalah nama yang salah, yang benar adalah "kumpulanData" atau "kumpulandata"
  • Spasi dapat diganti dengan "_",   contoh "kumpulan_data"


Semoga bermanfaat.. :-)

Macro Untuk Memindahkan Text Dari Cell Ke Kotak Insert Comment

Menambahkan / insert comment pada microsoft excel kadang cukup membosankan terutama jika jumlahnya banyak dan textnya panjang.  Cara yang sering digunakan biasanya dengan klik kanan pada sel yang akan ditambahkan komentar dan kemudian klik insert comment untuk memunculkan kotak komentar. Selanjutnya komentar diketik secara langsung pada kotak insert comment. 

Bagaimana jika ada data berbentuk tabel yang harus disertakan dalam comment?

Metode  yang sering dilakukan pengguna ms excel umumnya dengan cara mengcopy dulu tabel dari excel ke notepad, kemudian mengeditnya supaya susunan text rapi dan berbentuk tabel.  Selanjutnya text notepad tersebut dicopy ke kotak insert comment. 

Jika anda Jenuh dengan cara biasa yang sangat menguras energi, sebaiknya anda mencoba cara yang satu ini untuk melakukan insert comment dengan cara mengambil text langsung dari sell dan memindahkannya ke dalam kotak komentar

Ya, Dengan macro dan VBA, kita dapat melakukan insert comment dengan cepat dan lebih rapi. Berikut contoh script vba macro untuk konversi text kolom menjadi text komentar (insert comment)


‘----------------------------------------------------------
Sub convertColumnToCmt()
Dim r As Range, kolom As Range, rKolom As Range, tf As TextFrame
Dim cmt As String, x As Integer, y As Long, z As Long
On Error GoTo skipError 'error jika pengguna membatalkan proses
Set kolom = Selection
Set r = Application.InputBox( _
prompt:="Pilih Satu Sel Untuk Menempatkan Komentar", Type:=8)
If r.Cells.Count > 1 Then
    MsgBox "TIDAK BERHASIL! - Silahkan Pilih Satu Sel Saja!"
    Exit Sub
End If
r.ClearComments
r.AddComment.Text Text:=" "
Set tf = r.Comment.Shape.TextFrame
For x = 1 To kolom.Rows.Count
    Set rKolom = kolom.Range(Cells(x, 1), Cells(x, 1))
    cmt = rKolom.Text & Chr(10)
    z = Len(cmt)
    With tf.Characters(y + 1, z).Font
        .Parent.Insert (cmt)
        .Bold = rKolom.Font.Bold
        .Italic = rKolom.Font.Italic
        .Underline = rKolom.Font.Underline
        .Name = rKolom.Font.Name
        .ColorIndex = rKolom.Font.ColorIndex
    End With
    y = y + z
Next x
y = 0
For x = 1 To kolom.Rows.Count
'je:2 kali looping untuk menghindari error pada Excel 2007
    Set rKolom = kolom.Range(Cells(x, 1), Cells(x, 1))
    z = Len(rKolom.Text) + 1
    tf.Characters(y + 1, z).Font.Size = rKolom.Font.Size
    y = y + z
Next x
tf.AutoSize = True
Application.Goto r
Exit Sub
skipError: 'jika pengguna membatalkan proses
End Sub
‘-------------------------------------------------------------


Cara menggunakan prosedur makro ini.

  • Pastikan kode vba tersebut sudah di copy pada module standar
  • Seleksi/sorot range yang mengandung text yang akan dipindahkan ke insert comment (sorot satu kolom saja, tapi bukan entirecolumn).
  •  Jalankan makro ini (Anda bisa membuat shortcut terlebih dahulu untuk menjalankan makro ini supaya lebih mudah).
  • Muncul input box : pilih satu sel untuk menempatkan insert comment
  • klik Ok
  • Hasilnya : text dalam kolom yang disorot akan berpindah ke dalam comment box. Format text menyesuaikan dengan format font dalam kolom yang disorot.

Dan ini contoh hasilnya:

Menindahkan Text Cell ke Comment Box

Cara di atas jika digabung dengan macro lainnya dapat juga digunakan untuk memindahkan tabel kedalam kotak insert comment.  

Jika kita perhatikan kembali cara diatas dimana kumpulan text yang dapat dipindahkan ke dalam kotak insert comment harus berada dalam satu kolom.  

Oleh karena itu,  untuk memindahkan tabel ke dalam kotak insert comment , kita harus mengkonversi tabel terlebih dahulu menjadi text dalam satu kolom. 

Silahkan dibaca caranya dalam artikel: Makro untuk menggabungkan text tabel menjadi satu kolom. 

Selamat mencoba...:)

Wednesday, February 25, 2015

Excel Comment - Find & Replace Text dalam Comment

FIND DAN REPLACE text atau string dalam excel worksheet atau range adalah hal biasa dan mudah dilakukan dengan perintah Find (Ctrl + F)  atau Replace (Ctr + H). Namun bagaimana caranya menemukan dan menukar text dalam exel comment.  Saya  belum menemukan cara lain selain menggunakan vba dan macro.  Contoh script berikut dapat digunakan untuk mencari dan sekaligus mengganti text tertentu dalam comment box.

1.       Contoh Script untuk mencari dan menghitung text tertentu yang dijumpai dalam text comment dan memberikan informasi hasil dari proses tersebut.

 '----------------------------------------------------------------------------------------
Sub findTextInComment()
Dim findStr As String, cmtStr As String, r As Range
Dim i As Long, findCount As Long, cmtCount As Long
findStr = InputBox("Text Yang Dicari :")
If findStr = "" Then Exit Sub

For Each r In Selection
    If Not (r.Comment Is Nothing) Then
        cmtCount = cmtCount + 1
        cmtStr = r.Comment.Text
        i = InStr(1, cmtStr, findStr, vbTextCompare)
        Do While i <> 0
            findCount = findCount + 1
            i = InStr(i + 1, cmtStr, findStr, vbTextCompare)
            r.Interior.Color = vbGreen
        Loop
    End If
Next
MsgBox "Hasil Pencarian :  " & findCount
End Sub
 '----------------------------------------------------------------------------------------

2.       Contoh Scrip untuk mengganti text tertentu yang dijumpai dalam text comment, dan memberikan informasi hasil dari proses tersebut:
Nb: pada script lainnya yang saya jumpai dari berbagai sumber di internet, biasanya proses replace text comment merubah/merusak format sebelumnya. Code vba excel macro berikut sudah di-test dan bekerja tanpa merubah format comment text sebelumnya.

 '----------------------------------------------------------------------------------------
Sub replaceTextInComment()
Dim c As Comment, r As Range, i As Long, j As Long, k As Long
Dim sCmt As String, sFind As String, sReplace As String
Dim replaceCount As Long, cmtFindCount As Long, cmtCount As Long
Application.ScreenUpdating = False
sFind = InputBox("text yang akan ditukar :")
If sFind = "" Then Exit Sub
sReplace = InputBox("text pengganti :")
j = Len(sFind)
k = Len(sReplace)

For Each r In Selection
If Not (r.Comment Is Nothing) Then
    cmtCount = cmtCount + 1
    Set c = r.Comment
    i = InStr(1, c.Text, sFind, vbTextCompare)
    If i > 0 Then
        cmtFindCount = cmtFindCount + 1
        r.Interior.Color = vbBlue
    End If
    Do While i > 0
        If sReplace = "" Or i = 1 Then
            c.Shape.TextFrame.Characters(i, j).Insert (sReplace)
        Else
            sCmt = c.Text(sReplace, i + 1, j - 1)
            c.Shape.TextFrame.Characters(i, 1).Insert ("")
        End If
        replaceCount = replaceCount + 1
        i = InStr(i + k, c.Text, sFind, vbTextCompare)
    Loop
End If
Next
If replaceCount > 0 Then
Application.ScreenUpdating = True
MsgBox ("BERHASIL DENGAN KETERANGAN SBB:    " & Chr(10) _
      & "Text Awal: " & Chr(34) & sFind & Chr(34) & Chr(10) _
      & "Text Pengganti: " & Chr(34) & sReplace & Chr(34) & Chr(10) _
      & "Text Diganti: " & replaceCount & Chr(10) _
      & "Comment dicek: " & cmtCount & Chr(10) _
      & "Comment diganti: " & cmtFindCount)
End If
End Sub
 '----------------------------------------------------------------------------------------
Cara menggunakan macro: sorot range yang ada insert comment-nya dan kemudian jalankan makro di atas.
Selamat Mencoba..

Tuesday, February 24, 2015

Excel Comment - Cek Value/String Dalam Comment

MACRO UNTUK MENGECEK TEXT /STRING DALAM INSERT COMMENT

Adakalanya insert comment dibuat untuk menjelaskan langkah perhitungan data/angka yang ada dalam sel. Kita dapat mengecek apakah angka akhir perhitungan dalam insert comment sama atau tidak dengan angka dalam sel. 

vba macro mengecek string / value tertentu dalam insert comment
Sebenarnya kita bisa mengeceknya satu persatu dengan cara membuka comment (show comment) satu persatu. Namun resiko human error-nya tinggi, apalagi jika dilakukan pada jam ngantuk...:). 

Saya tidak tahu nilai manfaat cara ini bagi anda. Tapi inilah yang harus saya kerjakan dimana saya harus merekap dan mengecek data-data dari divisi/unit, dimana ada penjelasan data yang dibuat dengan menambahkan insert comment pada data tersebut... dan saya termasuk orang yang "malas" untuk melakukan pengecekan satu persatu.

Code berikut akan menghitung jumlah insert comment yang tidak matching dengan nilai dalam cell. Dengan code ini, kita bisa langsung tahu dan lebih fokus untuk mengecek penjelasan/comment yang "diduga" tidak tepat.  Memang sih, ini masih banyak kekurangannya karena hanya mengecek ada tidaknya text/string/angka yang seharusnya ada atau tidak dalam comment box.

'dicoba dulu aja dulu dech...

Sub cekValInComment()
Dim cekStr As String, cmtStr As String, r As Range
Dim notMatchCounter As Long, cmtCounter As Long
For Each r In Selection
    If r.Value <> "" And Not (r.Comment Is Nothing) Then
        cmtCounter = cmtCounter + 1
        cekStr = Trim(r.Text)
        cmtStr = r.Comment.Text
        If InStr(1, cmtStr, cekStr) = 0 Then
            notMatchCounter = notMatchCounter + 1
            r.Interior.Color = vbRed
        End If
    End If
Next
If notMatchCounter > 0 Then
    MsgBox "Dijumpai " & notMatchCounter & " komentar tidak matching dari " & cmtCounter & " yang di-cek"
End If
End Sub   

Ingat, metode ini benar-benar mengecek string value dalam comment dengan forrmat yang persis sama dengan value cell. Jadi harus dipastikan bahwa sistem penulisan angka dalam insert comment harus sama dengan format cell (number).

Contoh : jika angka dalam cell adalah 20000, sedangkan penulisan dalam insert comment adalah 20.000, maka hal ini akan dianggap tidak matching (tidak ditemukan).



Monday, February 23, 2015

Macro Untuk Setting Comment Pada Microsoft Excel

Untuk melakukan perubahan / setting comment, Excel sendiri sudah menyediakan fasilitas dengan perintah “format Comment” yang dapat diakses dengan cara klik kanan pada comment box. 
Bagaimana Cara Pengaturan Kotak Komentar Excel
Melakukan setting comment dengan cara biasa/manual

Sayangnya dengan cara tersebut, prosesnya dilakukan satu persatu dan tentu saja akan memerlukan banyak waktu. Jika hanya ada 1 atau 2 comment yang harus diedit, mungkin tidak menjadi masalah. Bagaimana jika ada puluhan, ratusan, bahkan ribuan comment yang harus di-edit?

Cara manual tentunya bukan pilihan yang tepat, kecuali jika kita bersedia untuk lembur semalaman untuk mengerjakannya satu per satu.Bagi saya ini adalah pekerjaan yang sangat membosankan, apalagi tidak ada tuh yang namanya upah lembur...

Dengan macro dan VBA, pekerjaan tersebut jauh lebih mudah dan efisien. Contoh script berikut dapat digunakan untuk melakukan setting semua comment sekaligus dalam range yang diseleksi, atau dalam aktivesheet bahkan sekaligus dalam satu workbook. Anda dapat mengembangkan  property yang diatur sesuai kebutuhan

1.       Reset semua  posisi comment box

Posisi comment box biasanya berubah karena proses hide atau unhide row dan column, atau sengaja digeser untuk keperluan tertentu. Contoh code berikut dapat digunakan untuk reset posisi semua comment box pada kondisi standar.

a.       Reset posisi semua comment box dalam activesheet

'Code berikut ini akan mengembalikan posisi semua comment box pada sheet yang aktive menjadi keadaan standar/default

Sub resetCommentPosition_ws()
    Dim c As Comment, r As Range
    For Each c In ActiveSheet.Comments
        Set r = c.Parent
        c.Shape.Top = r.Top - 7
        c.Shape.Left = r.Offset(0, 1).Left + 11
    Next
End Sub

b.      Reset posisi semua comment box dalam activeworkbook

Code berikut ini akan mengembalikan posisi semua comment box pada semua sheet di dalam file excel yang sedang aktive menjadi keadaan standar/default


Sub resetCommentPosition_wb()
    Dim c As Comment, r As Range, ws As Worksheet
    For Each ws In ActiveWorkbook.Worksheets
    For Each c In ws.Comments
        Set r = c.Parent
        c.Shape.Top = r.Top - 7
        c.Shape.Left = r.Offset(0, 1).Left + 11
    Next
    Next
End Sub


2.       Setting Comment Font

a.       Set  format font comment  dalam lingkup activesheet

Sub setAllCommentFont()
Dim c As Comment
For Each c In ActiveSheet.Comments
    With c.Shape.TextFrame.Characters.Font
        .Name = "arial"
        .Size = 12
    End With
Next
End Sub

b.      Set font  comment dalam lingkup range yang diseleksi

Sub setSelectedCommentFont()
Dim c As Comment, r As Range
For Each r In Selection
    If Not (r.Comment Is Nothing) Then
        With r.Comment.Shape.TextFrame.Characters.Font
            .Name = "arial"
            .Size = 12
        End With
    End If
Next
End Sub

                Contoh code diatas dapat dikembangkan dan dimodifikasi dengan menambahkan atau mengganti dengan property comment object yang lainnya seperti: autosize, font.bold, font.color, margins dsb. Untuk mengetahui  code-code yang diperlukan dapat menggunakan record macro dan lakukan langkah edit format seperti biasa. Untuk menambah interaktivitas dapat juga ditambahkan fungsi inputbox. Misalnya  untuk menentukan nama font dan ukurannya.


Semoga bermanfaat...:-)
Belajar Excel..! Excellent..!

Macro Untuk Melihat dan Menyembunyikan Comment Excel




show hide 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 saat presentasi adalah 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 sampai ke ujung bawah. 

Bagi saya ini cukup melelahkan jika setiap melihat comment harus melakukan prosedur ini. 

Belum lagi kalau box komentar posisinya sangat jauh dari sel tempat komentar tersemat. Sehingga sering terbesit pertanyaan kenapa harus ada insert comment yang panjang dalam bahan 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 melakukan show/hide comment dengan lebih cepat dan tidak perlu khawatir perihal 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 tepat 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 tepat 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 tepat 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 dapat melihat/menyembunyikan comment box secara bergantian tergantung kondisi activecell pada saat 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 dapat dijalankan secara otomatis ketika cells diseleksi. 

Untuk menjalankan fungsi ini, code harus diletakan pada module worksheet menggunakan 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

PANDUAN LENGKAP PENJUMLAHAN DI EXCEL

Fungsi SUM dan Rumus Penjumlahan Pada Excel

Penjelasan Lengkap Rumus Penjumlahan Pada Excel Ada banyak cara untuk melakukan penjumlahan pada Microsoft Excel. Cara yang paling sederhan...