Menurut ceritak-nya, data yg akan diproses cukup banyak
Mungkin pula pemakai ingin hanya sekali "tepuk" ..dan semua data sudah
dibuatkan konversi/hasil di kolom lain, yg sudah berupa konstanta
(bukan formula seperti solusi dengan UDF)
Kalau begitu kita perlu TOMBOL yg dapat mengulang-ulang pekerjaan di tiap baris data
Mungkin prosedur Sub yg akan dipanggil oleh si-Tombol, isinya seperti ini
Sub ProcessAllDataInRange()
' siti Vi // 16 aug 2010
' memproses sekelompok data dlm sekali tepuk !!
'----------------------------------------------
' mendeklarasikan 3 variable yg akan dipakai
Dim Rng1 As Range, Rng2 As Range, r As Long
'Menentukan Range1 (input range / sekoom data yg akan diproses)
Set Rng1 = Application.InputBox( _
Prompt:="Tunjuk / Tentukan Range Data yg akan diproses", _
Title:="Range data yg akan diproses", Default:=Selection.Address, Type:=8)
' menentukan Range2 (Output Range / kolom hasil )
Set Rng2 = Application.InputBox( _
Prompt:="Tunjuk / Tentukan Cell Tujuan dimana Hasil akan dituliskan", _
Title:="Range Tujuan", Default:=Rng1(1, 3).Address, Type:=8)
' Loop : memproses semua data di Range1 dibantu oleh UDF FirstOperand
For r = 1 To Rng1.Rows.Count
Rng2(r, 1) = IIf(Rng1(r, 1) = "", "", FirstOperand(Rng1(r, 1)))
Next r
' merapihkan kolom hasil
With Rng2.Resize(Rng1.Rows.Count, 1)
.NumberFormat = "General"
.EntireColumn.AutoFit
End With
' kelarr dech....
End Sub
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)' mencari nilai operand pertama dlm formula
' siti Vi // 16 aug 2010
'------------------------------------------
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), "|")If IsNumeric(Hasil) Then
Next i
Hasil = Mid(Formo, 2, InStr(2, Formo, "|") - 2)
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 !!
> 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