Pembahasan kali ini masih berbicara tentang UDF, kami akan berbagi cara bagaimana memperoleh angka-angka atau huruf-huruf dari suatu deretan campuran alfanumerik.

Alfanumerik adalah rangkaian aksara yang dapat terdiri atas huruf, angka, tanda baca, atau lambang matematika.

Jika angka-angka atau huruf-huruf dikelompokkan dengan selaras atau berada di tempat yang mudah diprediksi, maka rumus bawaan Excel mungkin saja dapat menangani tugas tersebut, namun jika angka dan huruf tersebut berupa aksara acak dan campuran seperti yang ditunjukkan pada kolom A di dalam gambar di bawah ini, maka tugas akan menjadi lebih sulit.

Cara Mengambil Angka Saja pada Alfanumerik

Silakan ikuti langkah demi langkah sebagai berikut untuk menyusun kode UDF:

1. Buat contoh barisan sel seperti pada gambar.

2. Tekan Alt+F11 untuk menampilkan VBE.

3. Buat module baru melalui menu Insert > Module.

4. Berikan judul UDF misalnya AmbilAngka dengan mengetik garis kode berikut diakhiri dengan Enter:

Function AmbilAngka(t As String)

5. Tepat di bawahnya ketik contoh variabel-variabel berikut:

Dim i As Integer, d As String

6. Loop ke setiap aksara pada sel:

For i = 1 To Len(t)

7. Jika aksara adalah suatu angka, maka tambahkan pada variabel d:

If IsNumeric(Mid(t, i, 1)) Then
d = d & Mid(t, i, 1)
End If
Next i

8. Setiap aksara pada sel telah dilakukan penilaian, jadi Anda bisa menetapkan fungsi AmbilAngka dengan membuatnya sama dengan variabel d. Adapun maksud dari fungsi CDbl adalah untuk melakukan desakan pada pernyataan d agar menjadi suatu bilangan jenis data Double:

AmbilAngka = CDbl(d)

9. Kode lengkapnya sebagai berikut:

Function AmbilAngka(t As String)
Dim i As Integer, d As String
For i = 1 To Len(t)
If IsNumeric(Mid(t, i, 1)) Then
d = d & Mid(t, i, 1)
End If
Next i
AmbilAngka = CDbl(d)
End Function

Macro pertama berhasil di buat, lanjutkan membuat macro kedua.


Cara Mengambil Huruf Saja pada Alfanumerik

Ikuti langkah demi langkah selanjutnya untuk menyusun kode UDF kedua:

1. Masih di dalam module yang sama, berikan judul UDF misalnya AmbilHuruf dengan mengetik garis kode berikut diakhiri dengan Enter:

Function AmbilHuruf(t As String)

2. Tetapkan contoh variabel-variabel sebagai berikut:

Dim x As Integer, tp As String

3. Loop ke setiap aksara di dalam sel:

For x = 1 To Len(t)

4. Jika aksara bukan angka, maka harus suatu huruf, jadi tambahkan pada variabel tp:

If Not IsNumeric(Mid(t, x, 1)) Then
tp = tp & Mid(t, x, 1)
End If
Next x

5. Setiap aksara pada sel telah dilakukan penilaian, jadi Anda bisa menetapkan fungsi AmbilHuruf dengan membuatnya sama dengan variabel tp

AmbilHuruf = tp

6. Susunan kode UDF lengkapnya:

Function AmbilHuruf(t As String)
Dim x As Integer, tp As String
For x = 1 To Len(t)
If Not IsNumeric(Mid(t, x, 1)) Then
tp = tp & Mid(t, x, 1)
End If
Next x
AmbilHuruf = tp
End Function

7. Tekan Alt+Q untuk kembali ke worksheet dan silakan masukkan rumus yang telah Anda buat sendiri tersebut.

Demikian pembahasan mengenai cara mengambil angka saja atau huruf saja dari suatu deretan aksara alfanumerik dengan Macro VBA Excel, selamat mempraktikkan dan semoga bermanfaat.