UDF yg dimodifikasi: untuk mengantisipasi agar jika di dalam text formula
terdapat karakter KURUNG "(", ")" dan SPASI " " tidak menghasilkan error
demikian juga bila sormula menghasilkan TEXT atau cell yg dirujuk berisi
konstanta, bukan formula.
Function FirstOperand(Cell As Range)
' siti Vi // 16 aug 2010
' mencari nilai operand pertama dlm formula
'------------------------------------------
Dim Operators, TandaLain
Dim Formo As String
Dim Hasil As String
Dim i As Integer
Operators = Split("+ - * / ^ &")
TandaLain = Split("\ \(\)\" & """", "\")
If Cell.HasFormula Then
Formo = Cell.Formula
For i = 0 To UBound(TandaLain)
Formo = Replace(Trim(Formo), TandaLain(i), "")
Next i
For i = 0 To UBound(Operators)
Formo = Replace(Formo, Operators(i), "|")
Next i
Hasil = Mid(Formo, 2, InStr(2, Formo, "|") - 2)
If IsNumeric(Hasil) Then
FirstOperand = Val(Mid(Formo, 2, InStr(2, Formo, "|") - 2))
Else
FirstOperand = Mid(Formo, 2, InStr(2, Formo, "|") - 2)
End If
Else
FirstOperand = Cell.Value
End If
End Function
Penjelasan code (= "Tafsir Al-Assalll" / tafsir asal-asalan) ada di woksit lampiran..
Merdeka !!
Buatlah sebuah UDF di module 1
berhubung akan sering terpakai, kalau perlu: workbook berisi makro UDF tsb
di save as Add-In, lalu aktifkan Add-innya
Listing UDF-nya sbb:
Function NilaiPertama(Cell As Range)
' siti Vi / 16 aug 2010
Dim Formo As String
Dim Hasil As Variant
Dim i As Integer
Dim Operator
Operator = Split("+,-,*,/,^," & Chr(32), ",")
Formo = Cell.Formula
For i = 0 To UBound(Operator)
Formo = Replace(Formo, Operator(i), "|")
Next i
Hasil = Mid(Formo, 2, InStr(2, Formo, "|") - 2)
NilaiPertama = Val(Hasil)
End Function
Dengan telah punya fungsi baru tsb, maka di worksheet anda dapat
mengambil Bilangan (Operand) pertama pada formula aritmatik
misal formula =4282-4272.9 ada di cell A1
di cell B1 tuliskan rumus
=NilaiPertama(A1)
> 2010/8/14 Ezra Sangga <ezra.sangga@borneo.co.id>
> Dear para pakar Exel mania,
> Saya mohon dibantu untuk permasalahan saya ini.
> Setiap hari (pertanggal) saya harus mengambil Hours Meter dari setiap unit.
> Tetapi data yang saya dapatkan dari data entri berupa formula sbb:
> =4282-4272.9. HM yg harus saya ambil setiap hari adalah 4282.
> bagaimana cara cepat untuk mendapatkannya, karena saya harus mlakukannya setiap hari dengan ribuan unit.
> Terlampir datanya.
> Terima kasih sebelumnya atas bantuannya.
> Thanks & Regards
> Ezra
| selamat menunaikan ibadah puasa... walau perut lapar, tanya excel |
| jalan terus... malu bertanya telat pulang kantor :D :D :D |
| http://www.facebook.com/group.php?gid=37671048001&ref=mf |
+-------------------------------------------------------------------+
| DILARANG : MLM, money game, OOT, iklan tanpa izin, SARA, testing, |
| pembicaraan pribadi, one line message, melecehkan, tidak sopan. |
+-------------------------------------------------------------------+
| Buat subjek yang kreatif, jangan : "tanya", "help", "mohon bantu" |
| Usahakan besar attachment < 200 kb. Gunakan winzip jika perlu. |
+-------------------------------------------------------------------+
| Ajak teman-teman Anda bergabung dengan mengirim e-mail kosong ke |
| XL-mania-subscribe@yahoogroups.com atau kirimkan mereka file dari |
| http://groups.yahoo.com/group/XL-mania/files/Promotion/ |
+-------------------------------------------------------------------+
| Berikan testimoni di : http://www.friendster.com/xlmania atau... |
| http://www.xl-mania.com/2008/06/testimoni-xl-mania.html |
+-------------------------------------------------------------------+
| Message lama ada di : |
| http://groups.yahoo.com/group/XL-mania/messages [perlu yahoo id] |
| http://www.mail-archive.com/xl-mania@yahoogroups.com |
+-------------------------------------------------------------------+
Nenhum comentário:
Postar um comentário