Belajar Microsoft Excel: Excel Comment – Macro Untuk Konversi Data Tabel Menjadi Text Dalam Satu Kolom

Konversi Data Tabel Menjadi Text dalam satu Kolom

Pada goresan pena sebelumnya telah diterangkan bagaimana caranya mengkonversi text dalam range kolom menjadi text dalam comment box. Proses ini menggunakan mekanisme makro yang aku namai convertColumnToCmt .

Dalam beberpa urusan , adakalanya kita mesti menambahkan table ke dalam comment. Prosedur makro convertColumnToCmt masih mempunyai kehabisan yakni dia cuma sanggup mengkonversi text dari satu kolom saja. Sedangkan table , menyerupai kita pahami terdiri atas beberapa kolom.  Sehingga , untuk sanggup menambahkan table kedalam comment ,  maka dikehendaki mekanisme untuk mengkonversi tabel apalagi dulu menjadi text dalam satu kolom

Part1: Font Type Mono Space

Pada bab pertama ini aku akan jelaskan cara menghasilkan mekanisme macro untuk memadukan data table kedalam satu kolom jika font yang digunakan merupakan type mono space. Penggunaan font tipe yang lain akan diterangkan dalam bab kedua alasannya merupakan membutuhkan pendekatan dan mekanisme khusus.

Saya sendiri lebih senang menggunakan font type monospace alasannya merupakan kerapian text akan  lebih stabil walaupun ada pergeseran pada size font maupun zoom windows. Contoh font mono space yang  biasa digunakan adalah: courier new dan arial monospaced for sap.

Berikut merupakan pola script untuk konversi data tabel menjadi text dalam satu kolom (dengan kata lain : memadukan data tabel yang terdiri beberapa kolom menjadi satu kolom saja).

Copykan script berikut pada module patokan , dan buat shortcut untuk mengerjakan 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 mau di konversi
  • Jalankan macro ini
  • Pilih cell kawasan dimana table hasil konversi akan ditempatkan
  • Ok
  • Hasilnya: text table digabung menjadi satu kolom
Baca Juga  Belajar Microsoft Excel: Mengunci Dan Memproteksi Sel Berisi Formula

Macro Menggabungkan Tabel Kolom

Semoga bermanfaat… 🙂

Need Help? Chat with us