Dear Pukka, Coba bantu ya... Modif dari macro Miss Jan
Option Explicit ' =============================================== ' ' UDF SumIfSC = Summary With Special Conditions ' ' Untuk milis belajar-excel ' ' Miss Jan Raisin ' ' Di bawah langit yang sama , 06-Feb-2014 ' ' =============================================== ' Public Function SUMIFSC(sData As String, sDel As String, sDelPart As String, sDelVal As String) As Double Dim sFull As String, sPart As String Dim iDel As Integer, iPart As Integer Dim i As Integer, j As Integer, k As Integer, Temp As Integer Dim dbVal As Double, dbSum As Double iDel = Len(sData) - Len(Application.WorksheetFunction.Substitute(sData, sDel, "")) sFull = sData For i = 1 To iDel + 1 For j = 1 To Len(sFull) If Mid(sFull, j, 1) <> sDel Then sPart = sPart & Mid(sFull, j, 1) Else sFull = Mid(sFull, j + 1, Len(sFull) - j) Exit For End If Next j * On Error GoTo 1: Temp = Application.WorksheetFunction.Find("#", sPart, 1)* iPart = Len(sPart) - Len(Application.WorksheetFunction.Substitute(sPart, sDelPart, "")) + 1 For k = 1 To Len(sPart) If Mid(sPart, k, 1) = sDelVal Then dbVal = CDbl(Mid(sPart, k + 1, Len(sPart) - k)) Exit For End If Next k dbSum = dbSum + (iPart * dbVal) *1:* sPart = vbNullString Next i SUMIFSC = dbSum End Function Karena sPart menghasilkan kombinasi angka dengan huruf # , maka saya tambahkan pengujian untuk memastikan apakah # ada di variable sPart Thanks Ferry Pada 9 Februari 2014 13.34, Pukka Hamonangan Pardede <angan_l...@yahoo.co.id > menulis: > > > wadoh.. rumit nian.. > saya malah menjadi bertambah pusing.. > hehehehehe > > thanks mas Kid buat sarannya.. saya tunggu dulu para master cekrip yg lain > dulu bergabung. mana tau saja ada yg punya ide bagus.. > > :D > > regards. > > > Pada Minggu, 9 Februari 2014 13:24, Mr. Kid <mr.nm...@gmail.com> > menulis: > > Setelah masuk di-Excel, maka segera ditransformasi menjadi tabel yang > sederhana, sehingga yang disimpan sepanjang masa adalah data yang > sederhana. Dengan demikian, seluruh proses pengolahan data kapan pun untuk > data kapan pun yang telah ada dapat dilakukan dengan mudah. > > Mewarnai bagian teks dalam Excel tidak bisa dengan mudah dilakukan oleh > formula di cell tersebut. Dengan UDF bisa dilakukan tapi formula ditulis di > cell lain untuk mengubah format potongan cell lain. Syaratnya pun, cell > yang diubah harus memiliki template dan panjang yang tetap. Tentu hal ini > tidak bisa memenuhi kasus Anda. > > Alhasil, maka diperlukan sebuah prosedur Sub (tidak bisa digunakan seperti > UDF lagi) untuk mewarnai potongan teks tersebut. > > Kalau harus pakai prosedur SUB, kenapa ndak dimanfaatkan si prosedur SUB > tersebut untuk men-transformasi data hasil export to Excel menjadi sebuah > tabel sederhana ? > > Untuk menampilkan potongan teks yang diwarnai tentu saja masih suatu > hambatan. Tetapi, jika maksud dari pewarnaan tersebut adalah menunjukkan > bahwa di sms tersebut memang ada item dimaksud, maka sebenarnya bisa > disusun output berupa teks sms yang item-itemnya seperti yang dicari. Misal > text sms berbunyi blabliblubla ingin menampilkan item yang berbunyi bla. > Teks sms ditampilkan pada kolom A, dan kolom B dalam 2 baris akan > menampilkan item bla (ada 2 bijik bla) beserta pricenya di kolom C. > > Bisa jadi nanti ada ide lain untuk melakukan summary data sms setahun yang > item bla saja. > > Kalo ndak salah, pengolahan data akan lebih mudah jika data disusun secara > sederhana. Tabel berkaidah database (bukan berarti harus buat database loh > ya, karena yang dibutuhkan hanya tabel yang kaidahnya seperti sebuah tabel > dalam database) terbukti relatif mudah untuk diolah menjadi banyak output > dengan banyak kebutuhan. > > btw, > ini kan sekedar ide sajah... hehehe... > sapa tahu ide tersebut sudah diputuskan ndak mungkin dilakukan... (who > knows...) > > hehehe... > met berumit ria yak... > > kalau yang SumIFsC supaya bisa mengabaikan yang teks, kita tunggu yang > punya cekrip sajah yah... > kalo ndak salah, butuh di cek dulu apakah item yang mau diproses itu > numerik atau bukan... > tapi ini juga sekedar dugaan sajah... bisa jadi kliru... > > kalau pakai UDF SumPart, setelah bagian : > for lidx=0 to ubound( spart ) > diberi cekrip berbunyi : > if instr( spart(lidx) , sprice ) <> 0 then > > lalu sebelum baris : > next lidx > diberi cekrip berbunyi : > endif > > Wassalam, > Kid. > > > > > 2014-02-09 13:04 GMT+07:00 Pukka Hamonangan Pardede < > angan_l...@yahoo.co.id>: > > > maaf Mr Kid, > data yg kita hitung berasal dari eksport sms masuk (inbox export to excel) > jadi datanya kadang pendek kadang panjang sekali kadang juga disertakan > dengan nama tau inisial. > sebenarnya formula yg bapak berikan sudah bekerja dengan baik. namun pas > dilapangan baru keliatan ada sedikit problemnya. yaitu sender sering > menyertakan nickname. > > regards. > > > Pada Minggu, 9 Februari 2014 12:56, Mr. Kid <mr.nm...@gmail.com> > menulis: > > Kenapa kok datanya ndak disimpan menjadi tabel sederhana berisi setiap > item saja ? > Bukankah dengan mengolah data seperti itu bentuknya menghasilkan kerumitan > ? > > Wassalam, > Kid. > > > > 2014-02-09 12:46 GMT+07:00 Pukka Hamonangan Pardede < > angan_l...@yahoo.co.id>: > > > maaf agak telat, ternyata ada sedikit masalah dengan formulanya > dilapangan. contoh: > 5.12.22#10 = total harga 30 namun setelah saya tambah text hasilnya > menjadi 40 berikut contoh 2: > 5.12.22#10 = total harga 40 (seharusnya 30) > > mohon bimbingan dan kesabarannya para excel-lent semua. > > ----------------- " file terlampir " ------------------ > > > Pada Jumat, 7 Februari 2014 20:30, Pukka Hamonangan Pardede < > angan_l...@yahoo.co.id> menulis: > > Dear all excel-lent, > Terimakasih telah membantu saya menyelesaikan kasus angka di excel. > > semoga Tuhan memberkati anda semua. > > regards. > > > Pada Jumat, 7 Februari 2014 13:29, Jan Raisin <miss.jan.rai...@gmail.com> > menulis: > > Pak Pardede, > > coba diblok semua data yang ingin diubah. > tekan tombol CTRL H sehingga muncul dialog box Find and Replace > pada kotak Find what: isi dengan # > pada kotak Replace with: isi dengan x > tekan tombol Replace All > > oia.. UDF SumIfSC sudah didesain untuk hal seperti ini, jadi nanti pada > saat penggunaannya tinggal masukkan tanda x di antara kutip dua debagai > delimiter_value-nya > > Salam, > > > -Miss Jan Raisin- > > > Pada 7 Februari 2014 12.49, Pukka Hamonangan Pardede < > angan_l...@yahoo.co.id> menulis: > > > Dear Miss and Mr Excel-lent > Terimakasih atas bantuannya.. > maaf bila saya ingin mengganti format tanda " # " menjadi tanda " x " > misalnya, bagaimana kah caranya? > apa langkah yg harus saya ambil? > > mohon bimbingan dan kesabarannya. > > Regards. > > > > > > > > > > > > > > >