[belajar-excel] UDF untuk Average

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

[belajar-excel] UDF untuk Average

MAMUDA PONTIM
Mohon maaf sebelumnya, pertanyaan ini bukan untuk mengada-ada, tapi buat media belajar bagi saya khususnya. Mudah-mudahan bermanfaat bagi member yang lain.
Saya mau tanya, bagaimana membuat fungsi (UDF) yang sama dengan AVERAGE di worksheet function.
Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] UDF untuk Average

hendrik karnadi
Coba gunakan cara merekam Macro (UDF)
 
Caranya :
- Aktifkan perekaman macro.
- Ketik formula "AVERAGE" yang anda inginkan
- Stop perekaman macro
 
Macro yang sudah dibuat secara otomatis tersebut dapat diupdate sesuai kebutuhan.
 
Salam,
Hendrik Karnadi
 

From: MAMUDA PONTIM <[hidden email]>
To: "[hidden email]" <[hidden email]>
Sent: Friday, June 17, 2011 11:05 AM
Subject: [belajar-excel] UDF untuk Average


 
Mohon maaf sebelumnya, pertanyaan ini bukan untuk mengada-ada, tapi buat media belajar bagi saya khususnya. Mudah-mudahan bermanfaat bagi member yang lain.
Saya mau tanya, bagaimana membuat fungsi (UDF) yang sama dengan AVERAGE di worksheet function.

Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] UDF untuk Average

siti Vi
Administrator
kalau ingin mendekati algoritmanya kira kira begini

Function AveragePalsu(MyRange As Range) As Double
' siti Vi / 17 Jun 2011
   Dim Jumlah As Double
   Dim Banyak As Long
   Dim cel As Range

   For Each cel In MyRange
      Jumlah = Jumlah + cel
      If cel <> 0 Then Banyak = Banyak + 1
   Next
   AveragePalsu = Jumlah / Banyak
End Function

--workbook terlampirrrr



2011/6/17 hendrik karnadi <[hidden email]>

> Coba gunakan cara merekam Macro (UDF)
> Caranya :
> - Aktifkan perekaman macro.
> - Ketik formula "AVERAGE" yang anda inginkan
> - Stop perekaman macro
> Macro yang sudah dibuat secara otomatis tersebut dapat diupdate sesuai
> kebutuhan.
> Salam,
> Hendrik Karnadi
>
>
>  *From:* MAMUDA PONTIM <[hidden email]>
> *To:* "[hidden email]" <[hidden email]>
> *Sent:* Friday, June 17, 2011 11:05 AM
> *Subject:* [belajar-excel] UDF untuk Average
>
>  Mohon maaf sebelumnya, pertanyaan ini bukan untuk mengada-ada, tapi buat
> media belajar bagi saya khususnya. Mudah-mudahan bermanfaat bagi member yang
> lain.
> Saya mau tanya, bagaimana membuat fungsi (UDF) yang sama dengan AVERAGE di
> worksheet function.
>
>

ctv_UDF_Average Palsu.xls (28K) Download Attachment
~siti
Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] UDF untuk Average

siti Vi
Administrator
Kalau mau PINJAM PAKAI Fungsi Worksheet (SUM dan COUNTIF)

Function AveragePalsu2(MyRange As Range) As Double
' siti Vi / 17 Jun 2011
   Dim Jumlah As Double,Banyak As Long

   Jumlah = WorksheetFunction.Sum(MyRange)
   Banyak = WorksheetFunction.COUNTIF(MyRange,"<>0")
   AveragePalsu2 = Jumlah / Banyak

End Function




2011/6/17 STDEV(i) <[hidden email]>

> kalau ingin mendekati algoritmanya kira kira begini
>
> Function AveragePalsu(MyRange As Range) As Double
> ' siti Vi / 17 Jun 2011
>    Dim Jumlah As Double
>    Dim Banyak As Long
>    Dim cel As Range
>
>    For Each cel In MyRange
>       Jumlah = Jumlah + cel
>       If cel <> 0 Then Banyak = Banyak + 1
>    Next
>    AveragePalsu = Jumlah / Banyak
> End Function
>
> --workbook terlampirrrr
>
>
>>
>>  *From:* MAMUDA PONTIM <[hidden email]>
>> *To:* "[hidden email]" <[hidden email]>
>> *Sent:* Friday, June 17, 2011 11:05 AM
>> *Subject:* [belajar-excel] UDF untuk Average
>>
>>  Mohon maaf sebelumnya, pertanyaan ini bukan untuk mengada-ada, tapi buat
>> media belajar bagi saya khususnya. Mudah-mudahan bermanfaat bagi member yang
>> lain.
>> Saya mau tanya, bagaimana membuat fungsi (UDF) yang sama dengan AVERAGE di
>> worksheet function.
>>
>>
~siti
Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] UDF untuk Average

MAMUDA PONTIM
In reply to this post by siti Vi
Terima kasih Mbak Siti. Saya akan coba pelajari kodenya. Sudah dicoba dieksekusi dan berhasil


________________________________
From: STDEV(i) <[hidden email]>
To: [hidden email]
Sent: Friday, June 17, 2011 11:43 AM
Subject: Re: [belajar-excel] UDF untuk Average


 
kalau ingin mendekati algoritmanya kira kira begini

Function AveragePalsu(MyRange As Range) As Double
' siti Vi / 17 Jun 2011
   Dim Jumlah As Double
   Dim Banyak As Long
   Dim cel As Range
   
   For Each cel In MyRange
      Jumlah = Jumlah + cel
      If cel <> 0 Then Banyak = Banyak + 1
   Next
   AveragePalsu = Jumlah / Banyak
End Function

--workbook terlampirrrr



2011/6/17 hendrik karnadi <[hidden email]>

Coba gunakan cara merekam Macro (UDF)

>Caranya :
>- Aktifkan perekaman macro.
>- Ketik formula "AVERAGE" yang anda inginkan
>- Stop perekaman macro
>Macro yang sudah dibuat secara otomatis tersebut dapat diupdate sesuai kebutuhan.
>Salam,
>Hendrik Karnadi

>
>
>From: MAMUDA PONTIM <[hidden email]>
>To: "[hidden email]" <[hidden email]>
>Sent: Friday, June 17, 2011 11:05 AM
>Subject: [belajar-excel] UDF untuk Average
>

>Mohon maaf sebelumnya, pertanyaan ini bukan untuk mengada-ada, tapi buat media belajar bagi saya khususnya. Mudah-mudahan bermanfaat bagi member yang lain.
>Saya mau tanya, bagaimana membuat fungsi (UDF) yang sama dengan AVERAGE di worksheet function.
>
>
 
Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] UDF untuk Average

siti Vi
Administrator
In reply to this post by siti Vi
Akhirnya...  kalau mau Pinjam Pakai fungsi Worksheet: AVERAGE

Function AverageDiVBA(MyRange As Range) As Double
   AveragediVBA = WorksheetFunction.Average(MyRange)
End Function

ya memang singkat lha wong cuma pinjem saja,
tanpa tahu ceritak kalklasi didalamnya


2011/6/17 STDEV(i) <[hidden email]>

> Kalau mau PINJAM PAKAI Fungsi Worksheet (SUM dan COUNTIF)
>
> Function AveragePalsu2(MyRange As Range) As Double
>  ' siti Vi / 17 Jun 2011
>    Dim Jumlah As Double,Banyak As Long
>    Jumlah = WorksheetFunction.Sum(MyRange)
>    Banyak = WorksheetFunction.Countif(MyRange,"<>0")
>    AveragePalsu2 = Jumlah / Banyak
>
> End Function
>
>
> 2011/6/17 STDEV(i) <[hidden email]>
>
>> kalau ingin mendekati algoritmanya kira kira begini
>>
>> Function AveragePalsu(MyRange As Range) As Double
>> ' siti Vi / 17 Jun 2011
>>    Dim Jumlah As Double
>>    Dim Banyak As Long
>>    Dim cel As Range
>>    For Each cel In MyRange
>>       Jumlah = Jumlah + cel
>>       If cel <> 0 Then Banyak = Banyak + 1
>>    Next
>>    AveragePalsu = Jumlah / Banyak
>> End Function
>>
>> --workbook terlampirrrr
>>
>>>
>>>
>>>  *From:* MAMUDA PONTIM <[hidden email]>
>>> *Sent:* Friday, June 17, 2011 11:05 AM
>>>
>>>  Mohon maaf sebelumnya, pertanyaan ini bukan untuk mengada-ada, tapi
>>> buat media belajar bagi saya khususnya. Mudah-mudahan bermanfaat bagi member
>>> yang lain.
>>> Saya mau tanya, bagaimana membuat fungsi (UDF) yang sama dengan AVERAGE
>>> di worksheet function.
>>>
>>
~siti
Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] UDF untuk Average

MAMUDA PONTIM
Tanya lagi boleh ya....!
Beda Range dengan Ranges di VBA gimana?


________________________________
From: STDEV(i) <[hidden email]>
To: [hidden email]
Sent: Friday, June 17, 2011 12:10 PM
Subject: Re: [belajar-excel] UDF untuk Average


 
Akhirnya...  kalau mau Pinjam Pakai fungsi Worksheet: AVERAGE

Function AverageDiVBA(MyRange As Range) As Double
   AveragediVBA = WorksheetFunction.Average(MyRange)
End Function

ya memang singkat lha wong cuma pinjem saja, 
tanpa tahu ceritak kalklasi didalamnya


2011/6/17 STDEV(i) <[hidden email]>

Kalau mau PINJAM PAKAI Fungsi Worksheet (SUM dan COUNTIF)

>
>
>Function AveragePalsu2(MyRange As Range) As Double
>' siti Vi / 17 Jun 2011
>   Dim Jumlah As Double,Banyak As Long
>   Jumlah = WorksheetFunction.Sum(MyRange)
>   Banyak = WorksheetFunction.Countif(MyRange,"<>0")
>   AveragePalsu2 = Jumlah / Banyak
>
>
>End Function
>
>
>
>
>2011/6/17 STDEV(i) <[hidden email]>
>
>kalau ingin mendekati algoritmanya kira kira begini
>>
>>
>>Function AveragePalsu(MyRange As Range) As Double
>>' siti Vi / 17 Jun 2011
>>   Dim Jumlah As Double
>>   Dim Banyak As Long
>>   Dim cel As Range
>>   For Each cel In MyRange
>>      Jumlah = Jumlah + cel
>>      If cel <> 0 Then Banyak = Banyak + 1
>>   Next
>>   AveragePalsu = Jumlah / Banyak
>>End Function
>>
>>
>>--workbook terlampirrrr
>> 
>>>
>>>
>>>From: MAMUDA PONTIM <[hidden email]>
>>>Sent: Friday, June 17, 2011 11:05 AM
>>>
>>> 
>>>Mohon maaf sebelumnya, pertanyaan ini bukan untuk mengada-ada, tapi buat media belajar bagi saya khususnya. Mudah-mudahan bermanfaat bagi member yang lain.
>>>Saya mau tanya, bagaimana membuat fungsi (UDF) yang sama dengan AVERAGE di worksheet function.
 
Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] UDF untuk Average

siti Vi
Administrator
di VBA *tidak ada keyword Ranges*
mungkin anda ketemu "Ranges" =* nama Variable*
yang memang bisa kita karang sendiri apa saja
asal memenuhi syarat variable naming

cmiiw


2011/6/17 MAMUDA PONTIM <[hidden email]>

>
>
> Tanya lagi boleh ya....!
> Beda Range dengan Ranges di VBA gimana?
>
> ------------------------------
> *From:* STDEV(i) <[hidden email]>
> *To:* [hidden email]
> *Sent:* Friday, June 17, 2011 12:10 PM
> *Subject:* Re: [belajar-excel] UDF untuk Average
>
>
>  Akhirnya...  kalau mau Pinjam Pakai fungsi Worksheet: AVERAGE
>
> Function AverageDiVBA(MyRange As Range) As Double
>    AveragediVBA = WorksheetFunction.Average(MyRange)
> End Function
>
> ya memang singkat lha wong cuma pinjem saja,
> tanpa tahu ceritak kalklasi didalamnya
>
>
>
~siti
Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] UDF untuk Average

siti Vi
Administrator
sebetutulnya anda semua sudah punya alat canggih di dalam VBA anda
yg bernama* Object Browser*  (tekan F2 dari jendela VBE)
atau menu : View > Object Browser..

semua object yg dikenal VBA ada penjelasannya disitu
* dia termasuk member dari object apa
* mempunyai members apa saja (property, methods, events dst)
* jika diklik kanan ada pop up menu cukup lengkap dan salah-satunya
   =HELP atas object yg sedang di klik

[image: Object Browser.GIF]


2011/6/17 STDEV(i) <[hidden email]>

> di VBA *tidak ada keyword Ranges*
> mungkin anda ketemu "Ranges" =* nama Variable*
> yang memang bisa kita karang sendiri apa saja
> asal memenuhi syarat variable naming
>
> cmiiw
>
>
> 2011/6/17 MAMUDA PONTIM <[hidden email]>
>
>>
>>
>> Tanya lagi boleh ya....!
>> Beda Range dengan Ranges di VBA gimana?
>>
>> ------------------------------
>> *From:* STDEV(i) <[hidden email]>
>> *To:* [hidden email]
>> *Sent:* Friday, June 17, 2011 12:10 PM
>> *Subject:* Re: [belajar-excel] UDF untuk Average
>>
>>
>>  Akhirnya...  kalau mau Pinjam Pakai fungsi Worksheet: AVERAGE
>>
>> Function AverageDiVBA(MyRange As Range) As Double
>>    AveragediVBA = WorksheetFunction.Average(MyRange)
>> End Function
>>
>> ya memang singkat lha wong cuma pinjem saja,
>> tanpa tahu ceritak kalklasi didalamnya
>>
>>
>>

Object Browser.GIF (25K) Download Attachment
~siti