Tecnologia, programação e muito Visual FoxPro.

sexta-feira, 24 de junho de 2011

Re: ]] XL-mania [[ Macro untuk perhitungan uang makan

Posting dari Pak A. Only ini seperti bukan Posting ASLI ya  ?
(seperti Reply-an atau Forward-an mail yg sudah pernah dikirim ke suatu tujuan)
Posting merusak Threads.GIF
'==========================================================
'==========================================================

' ---( UDF 1 )------------------------------------
' meniru =IF(ISNUMBER(SEARCH("Jakarta",$H3)),1,2)
' mencari nila AREA
' tambahan: kalau NmCabang = blank, Area = 0
'-------------------------------------------------

Function Area(NmCabang As String) As Integer
   ' coded by: siti Vi; bluewater, 25 Jun 2011
   '-----------------------------------------
   If Len(NmCabang) > 0 Then
      If InStr(1, LCase(NmCabang), "jakarta") > 0 Then
         Area = 1
      Else
         Area = 2
      End If
   End If
End Function


' ---( UDF 2 )-----------------------------------------------------
' meniru
' =ROUND((IF($I2="Karyawan lapangan",0,IF($B2=1,5000,4500))*D2),-1)
' mencari nilai Meal Allowance
'------------------------------------------------------------------

Function MealAlw(Area As Integer, _
                 JmlUM As Integer, _
                 Kategori As String) As Long
   ' coded by: siti Vi; bluewater, 25 Jun 2011
   '-----------------------------------------
   
   Dim Rp As Single
   
   If LCase(Kategori) = "karyawan lapangan" Then
      Rp = 0
   Else
      If Area = 1 Then Rp = 5000 Else Rp = 4500
   End If
   
   MealAlw = CLng(Round(Rp * JmlUM))

End Function


' ---( UDF 2 )---------------------------------------------
' meniru
' =ROUND(IF($I5="Karyawan KANTOR",0,IF($B5=1,10000,8000))
'  * F5 * IF(C5>4,100/85,100/95),-1)
' mencari nilai Field All  ( opo maneh ? to iki ?)
'----------------------------------------------------------

Function FieldAll(Area As Integer, _
                  Level As Integer, _
                  JmlField As Integer, _
                  Kategori As String) As Long
   ' coded by: siti Vi; bluewater, 25 Jun 2011
   '-----------------------------------------
   
   Dim vArea As Single, vLevel As Single
   
   If LCase(Kategori) = "karyawan kantor" Then
      vArea = 0
      ' Jika hasil vArea = eNol maka
      ' hasil perkalian selanjutnya tidak ada gunanya lagi, ya ndak ??
      ' so.. kenafa ndak exit function saja? 
      Exit Function
   Else
      If Area = 1 Then vArea = 10000 Else vArea = 8000
   End If
   
   If Level > 4 Then vLevel = 100 / 85 Else vLevel = 100 / 95
   
   ' di VBA fungsi Round agak lain dgn ROUND yg ada di worksheet
   ' di VBA tidak ada Number_Desimal_Places NEGATIF, adanya Positip
   ' maka pembuatannya pakai  INT( N/10) * 10  boleh ndak ??
   FieldAll = CLng(Int((vArea * JmlField * vLevel) / 10) * 10)

End Function

'---------------------------------------------------------
' note:
'---------------------------------------------------------
' di VBA: Deklarasi prosedur Sub maupun prosedur Fungsi
' dengan Keyword Public adalah DEFAULT-nya
' Jadi kalau ditulis PUBLIC atau tidak ditulis PUBLIC
' hasilnya sami mawon = SAMA SAJA
' so .. KAMU jangan merasa "orang lain salah" jika
' UDF nya hanya ditulis:  Function NamaFungsi()
' sedangkan kamu pakai :  Public Function NamaFungsi()
'                         ~~~~~~
' --ctv--
'---------------------------------------------------------

CMIIW
~siti~




2011/6/24 Ahmad Only <ahmad_twofive@yahoo.com>
>
>> Dear Master Xl-mania,
>>
>> Saya membuat perhitungan untuk perhitungan uang makan dll dengan menggunakan formula, tetapi saya ingin mencoba dengan macro atau vba karena saat ini saya baru belajar jadi belum pernah berhasil, mohon pencerahannya.  Atas perhatiannya saya ucapkan terima kasih.
>>
>> Best regards,
>>
>> Ahmad

Nenhum comentário:

Arquivo do blog