Materi ini adalah jawaban dari pertanyaan yang ditanyakan di Group, tentang bagaimana menjumlahkan sembuah angka yang ada pada cells dimana setiap cell terdapat 3 nilai yang berbeda.
Setiap nilai cell tentunya berupa Text dan bukan nilai number yang bisa langsung dijumlahkan.
Tentunya keinginan pengguna adalah adanya sebuah rumus yang bisa langsung menjumlahkan tanpa perlu memecah isi cells terlebih dahulu.
Untuk menjawab keinginan tersebut, VBA bisa menjadi solusi, dimana dengan VBA bisa membuat sebuah User Defined Function (UDF) atau sebuah rumus yang bisa dibuat sendiri.
Jawaban :
Function MasterSUM(Rng As Range) '----------------------------------------- ' Sctipt VBA : SUM Text Cells ' Author : https://vba.co.id ' Situs belajar VBA No.1 ' di Indonesia '----------------------------------------- Dim Nilai(2) As Double Dim isi As Range Dim Datx As Variant For Each isi In Rng Datx = Split(isi, vbLf) For i = LBound(Datx) To UBound(Datx) Datx(i) = Replace(Datx(i), "Rp.", "") Datx(i) = Replace(Datx(i), ".", "") Datx(i) = CDbl(Datx(i)) Nilai(i) = Nilai(i) + Datx(i) Next i Next MasterSUM = Format(Nilai(0), "\R\p\. #,###") & vbLf & _ Format(Nilai(1), "\R\p\. #,###") & vbLf & _ Format(Nilai(2), "\R\p\. #,###") End Function
Dan hasilnya bisa dilihat pada gambar dibawah ini :