Bagaimana cara nilai rata-rata di excel melalui vba?

Di Excel, Anda bisa menggunakan VBA untuk menghitung nilai rata-rata dari rentang sel atau beberapa rentang. Dan dalam tutorial ini, kita akan mempelajari berbagai cara menggunakannya.

Rata-rata di VBA menggunakan WorksheetFunction

Di VBA, ada beberapa fungsi yang bisa Anda gunakan, namun tidak ada fungsi khusus untuk tujuan tersebut. Ini tidak berarti kita tidak bisa mengambil rata-rata. Di VBA, ada properti bernama WorksheetFunction yang dapat membantu Anda memanggil fungsi dalam kode VBA.

rata-rata di vba menggunakan fungsi spreadsheet

Mari kita rata-ratakan nilai pada rentang A1:A10.

  1. Pertama-tama masukkan properti fungsi lembar kerja, lalu pilih fungsi AVERAGE dari daftar.
    worksheet-function-average
  2. Selanjutnya, Anda harus memasukkan tanda kurung awal seperti yang Anda lakukan saat memasukkan fungsi di spreadsheet.
    enter-starting-paranthesis
  3. Setelah itu, kita perlu menggunakan objek rentang untuk merujuk pada rentang yang ingin kita hitung rata-ratanya.
    use-the-range-object
  4. Di akhir, ketikkan tanda kurung tutup dan tetapkan nilai kembalian fungsi ke sel B1.
    type-close-pranthesis
 Application.WorksheetFunction.Average( Range ("A1:A10"))

Sekarang ketika Anda menjalankan kode ini, kode ini menghitung rata-rata nilai yang Anda miliki dalam rentang A1:A10 dan memasukkan nilai di sel B1.

jalankan-kode-hitung-rata-rata

Nilai rata-rata seluruh kolom atau baris

Dalam hal ini, Anda hanya perlu menentukan baris atau kolom, bukan rentang yang kita gunakan pada contoh sebelumnya.

 'for the entire column A Range ("B1") = Application.WorksheetFunction.Average( Range ("A:A")) 'for entire row 1 Range ("B1") = Application.WorksheetFunction.Average( Range ("1:1"))

Gunakan VBA untuk rata-rata nilai pilihan

Sekarang misalkan Anda ingin menghitung nilai rata-rata sel yang dipilih saja karena Anda dapat menggunakan kode seperti ini.

 Sub vba_average_selection() Dim sRange As Range Dim iAverage As Long On Error GoTo errorHandler Set sRange = Selection iAverage = WorksheetFunction.Average(Range(sRange.Address)) MsgBox iAverage Exit Sub errorHandler: MsgBox "make sure to select a valid range of cells" End Sub

Pada kode di atas, kita menggunakan seleksi, lalu menentukannya dalam variabel “sRange”, lalu kita menggunakan alamat variabel rentang ini untuk mendapatkan rata-ratanya.

VBA rata-rata semua sel di atas

Kode berikut mengambil semua sel di atas dan nilai rata-ratanya dan memasukkan hasilnya ke dalam sel yang dipilih .

 Sub vba_auto_Average() Dim iFirst As String Dim iLast As String Dim iRange As Range On Error GoTo errorHandler iFirst = Selection. End (xlUp). End (xlUp).Address iLast = Selection. End (xlUp).Address Set iRange = Range(iFirst & ":" & iLast) ActiveCell = WorksheetFunction.Average(iRange) Exit Sub errorHandler: MsgBox "make sure to select a valid range of cells" End Sub

Rata-rata rentang dinamis menggunakan VBA

Demikian pula, Anda dapat menggunakan rentang dinamis saat menggunakan VBA untuk menghitung rata-rata nilainya.

 Sub vba_dynamic_range_average() Dim iFirst As String Dim iLast As String Dim iRange As Range On Error GoTo errorHandler iFirst = Selection.Offset(1, 1).Address iLast = Selection.Offset(5, 5).Address Set iRange = Range(iFirst & ":" & iLast) ActiveCell = WorksheetFunction.Average(iRange) Exit Sub errorHandler: MsgBox "make sure to select a valid range of cells" End Sub

Rata-rata kolom atau baris dinamis

Demikian pula jika Anda ingin menggunakan kolom dinamis, Anda dapat menggunakan kode berikut yang akan mengambil kolom sel aktif dan rata-rata semua nilai yang Anda miliki di sana.

 Sub vba_dynamic_column() Dim iCol As Long On Error GoTo errorHandler iCol = ActiveCell.Column MsgBox WorksheetFunction.Average(Columns(iCol)) Exit Sub errorHandler: MsgBox "make sure to select a valid range of cells" End Sub

Dan berturut-turut.

 Sub vba_dynamic_row() Dim iRow As Long On Error GoTo errorHandler iRow = ActiveCell.Row MsgBox WorksheetFunction.Average(Rows(iCol)) Exit Sub errorHandler: MsgBox "make sure to select a valid range of cells" End Sub

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *