Skip to content Skip to sidebar Skip to footer

Widget Atas Posting

Excel Comment - Macro Untuk Konversi Data Tabel Menjadi Text Dalam Satu Kolom

Konversi Data Tabel Menjadi Text dalam satu Kolom

Pada goresan pena sebelumnya sudah dijelaskan bagaimana caranya mengkonversi text dalam range kolom menjadi text dalam comment box. Proses ini memakai mekanisme makro yang aku namai convertColumnToCmt .

Dalam beberpa kasus, adakalanya kita harus menyertakan table ke dalam comment. Prosedur makro convertColumnToCmt masih memiliki kelemahan yaitu dia hanya sanggup mengkonversi text dari satu kolom saja. Sedangkan table, menyerupai kita ketahui terdiri atas beberapa kolom.  Sehingga, untuk sanggup menyertakan table kedalam comment,  maka diharapkan mekanisme untuk mengkonversi tabel terlebih dahulu menjadi text dalam satu kolom

Part1: Font Type Mono Space

Pada belahan pertama ini aku akan jelaskan cara menciptakan mekanisme macro untuk menggabungkan data table kedalam satu kolom jikalau font yang dipakai ialah type mono space. Penggunaan font tipe lainnya akan dijelaskan dalam belahan kedua sebab memerlukan pendekatan dan mekanisme khusus.

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

Berikut ialah pola 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 mekanisme makro ini

  • Sorot table yang akan di konversi
  • Jalankan macro ini
  • Pilih cell daerah dimana table hasil konversi akan ditempatkan
  • Ok
  • Hasilnya: text table digabung menjadi satu kolom
Konversi Data Tabel Menjadi Text dalam satu Kolom Excel Comment - Macro Untuk Konversi Data Tabel Menjadi Text dalam satu Kolom

Semoga bermanfaat... :-)

Post a Comment for "Excel Comment - Macro Untuk Konversi Data Tabel Menjadi Text Dalam Satu Kolom"