Selasa, 07 Oktober 2014

Belajar Membuat Fungsi String dengan VBA Excel

Rumus Excel [.] com - Fungsi string atau fungsi pengolahan teks mungkin adalah salah satu fungsi yang sering digunakan dalam pembuatan data di Microsoft Excel, contoh penggunaan fungsi string yang diterapkan dalam worksheet sudah sering  saya bahas seperti fungsi Left, Mid, Right, Upper, Lower dan lain sebagainya.

Kali ini kita akan belajar fungsi String dengan menggunakan VBA, yang memanfaatkan UserForm dan beberapa TextBox. Kurang lebih hasilnya nanti akan seperti gambar dibawah ini:


Untuk membuat UserForm Belajar Fungsi String seperti gambar diatas caranya adalah sebagai berikut:

  1. Buka Aplikasi Microsoft Office Excel kemudian lakukan Save As atau simpan lembar kerja Excel dengan ekstensi *.xlsm atau *.xlsb
  2. Buka jendela Microsoft Visual Basic dengan menekan tombol Alt+F11 atau melalui Tab Developer - Visual Basic.
  3. Tambahkan sebuah Userform, untuk propertiesnya biarkan default saja.
  4. Tambahkan 2 buah Frame ke dalam UserForm, ubah Caption pada Propertiesnya menjadi Input kata dan Hasil.
  5. Tambah 9 buah Label ke dalam UserForm dan ubah semua propertiesnya sebagai berikut:

    No Controls (Name) Caption
    1 Label 1           Label1           Belajar Fungsi String          
    2 Label 2 Label2 LEFT
    3 Label 3 Label3 MID
    4 Label 4 Label4 RIGHT
    5 Label 5 Label5 LEN
    6 Label 6 Label6 LTRIM
    7 Label 7 Label7 RTRIM
    8 Label 8 Label8 LCASE
    9 Label 9 Label9 UCASE
  6. Tambahkan ke dalam UserForm 9 buah TextBox dan ubah propertiesnya seperti tabel dibawah ini:

    No Controls (Name)
    1 TextBox 1                     txtKata                    
    2 TextBox 2 txtLeft
    3 TextBox 3 txtMid
    4 TextBox 4 txtRight
    5 TextBox 5 txtLen
    6 TextBox 6 txtLTrim
    7 TextBox 7 txtRTrim
    8 TextBox 8 txtLCase
    9 TextBox 9 txtUCase
  7. Susun semua Frame, Label dan TextBox seperti gambar UserForm diatas. Dan Klik kanan UserForm1 yang ada pada VBA Project kemudian klik View Code.
  8. Kemudian masukkan script berikut ini:
    Private Sub txtKata_Change()
    txtLeft = Left(txtKata, 5)
    txtMid = Mid(txtKata, 3, 4)
    txtRight = Right(txtKata, 5)
    txtLen = Len(txtKata)
    txtLTrim = LTrim(txtKata)
    txtRTrim = RTrim(txtKata)
    txtLCase = LCase(txtKata)
    txtUCase = UCase(txtKata)
    End Sub
    
  9. Setelah itu tekan F5 untuk menjalankan UserForm, dan ketikkan teks apa saja pada TextBox1 atau txtKata dan lihatlah perubahan pada TextBox yang ada pada Frame Hasil.

Penjelasan Script yang digunakan:
Private Sub txtKata_Change()
.....
End Sub
Ketika isi TextBox txtKata dirubah maka script yang ada didalam sub tersebut akan dijalankan.

txtLeft = Left(txtKata, 5)
TextBox dengan nama txtLeft akan menampilkan isi TextBox txtKata sebanyak 5 karakter teks dari kiri.

txtMid = Mid(txtKata, 3, 4)
TextBox dengan nama txtMid akan menampilkan isi TextBox txtKata sebanyak 4 karakter teks dimulai dari karakter teks ke 3.

txtRight = Right(txtKata, 5)
TextBox dengan nama txtRight akan menampilkan isi TextBox txtKata sebanyak 5 karakter teks dari kanan.

txtLen = Len(txtKata)
TextBox dengan nama txtLen akan menampilkan jumlah karakter dari isi TextBox txtKata.

txtLTrim = LTrim(txtKata)
TextBox dengan nama txtLTrim akan menampilkan  isi TextBox txtKata dengan menghilangkan spasi sebelah kiri (jika ada spasi).

txtRTrim = RTrim(txtKata)
TextBox dengan nama txtRTrim akan menampilkan  isi TextBox txtKata dengan menghilangkan spasi sebelah kanan (jika ada spasi).

txtLCase = LCase(txtKata)
TextBox dengan nama txtLCase akan menampilkan  isi TextBox txtKata yang di ubah menjadi huruf kecil semua (lower case)

txtUCase = UCase(txtKata)
TextBox dengan nama txtUCase akan menampilkan  isi TextBox txtKata yang di ubah menjadi huruf kapital/huruf besar (upper case)

Lampiran

Belajar Fungsi String dg VBA Excel Binary Workbook (xlsb)

Sekian penjelasan script yang digunakan Belajar Membuat Fungsi String VBA Excel. Semoga Bermanfaat...
3 komentar
  1. mau tanya mas,saya ada input data dan
    saya buat conmanbutton3 dengan pengkodean seperti berikut,
    private sub cmdcopy()
    Application.Goto(activeworkbook.sheets("nota").range("data"))
    sheets(1).range("nota").select
    Range(selection,selection.end(xlToRight)..select
    Range(selection,selection.end(xlDown).select
    selection.Copy
    sheets(2).select
    if range("A1").Offset(1, 0).Value="" then
    Range("A1").Offset(1, 0).Select
    else
    Range("A1").End(xlDown).Offset(1, 0).Select
    End if
    Activesheet.Paste
    Sheets(1).Select
    Range("A1048576").ClearContens
    MsgBox"Penyalinan Berhasil",VbInformation,"Informasi"
    End sub
    pertanyaanya,
    pengkodean trsbt berhasil,namun file excelnya kok jadi 3MB dan sangat berat(awalnya hanya 200Kb),apa yang membuat filenya menjadi bengkak dan minta solusinya agar filenya bisa bekerja namun tetap kecil untuk ukuran filenya..
    terimakasih

    BalasHapus
  2. Kalau gabungan string denga fungsi else if gmana help? Mksh

    BalasHapus
  3. bagus-bagus tutorial,
    sangat membantu dan okay banget.
    thank bro

    BalasHapus


EmoticonEmoticon