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.
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)
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:
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...:)
kalo dari comment ke cell gimana mas?
ReplyDeleteHalo mba LIA anggaplah kita ingin mengcopy text comment dari activecell ke CELL sebelah kanannya
ReplyDeletesub ambilKomen()
on error resume next
activecell.offset(0,1).value = activecell.comment.text
end sub
Yang ini musti praktik langsung sm Bapak sblm budgeting mulai sibuk...Bisa khan pak??
ReplyDeleteYang ini musti praktik langsung sm Bapak sblm budgeting mulai sibuk...Bisa khan pak??
ReplyDeleteSy sudah buat tool nya pak : income-c
DeleteAddIn nya juga ada, klw mau
😇😴🙇
ReplyDeletemass jika kita ingin meng-copy dari comment dalam suatu range menjadi text dalam suatu range, tetapi hasil copy an nya hanya text dalam commentnya saja bagaimana ya ?
ReplyDeleteContoh : untuk mengcopy text comment dari range sel ke range sel sebelah kanannya
DeleteSub ambilKomentar()
Dim sel As Range
For Each sel In Selection
If Not sel.Comment Is Nothing Then
sel.Offset(0, 1).Value = sel.Comment.Text
End If
Next
End Sub
Permisi mau nanya...saya punya problem ingin menampilkan komentar pada sebuah sel dimana komentar yang muncul dapat berubah-ubah sesuai isi sel...contoh: pada sebuah sel A1 dipilih "Teman 1" maka komentar yang muncul pada sel A1 adalah "Teman teman SD" dan bila sel A1 diganti pilihan "Teman 2" maka komentar yang muncul pada sel A2 adalah "Teman SMP" dst....trimakasih pencerahannya
ReplyDeleteCode berikut dapat digunakan, namun dioperasikan secara manual pada sel yang diupdate
ReplyDeleteSub updateCmt()
'menambahkan comment sesuai text dalam activecell
Dim komentar As String
On Error Resume Next
komentar = ActiveCell.Text
ActiveCell.Comment.Delete
ActiveCell.AddComment komentar
End Sub