Bagaimana cara menggunakan sum di excel melalui vba?

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

Jumlahkan 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 menghasilkan uang. Di VBA, ada properti bernama WorksheetFunction yang dapat membantu Anda memanggil fungsi dalam kode VBA.

sum-in-vba-menggunakan-spreadsheet

Pertimbangkan jumlah nilai dalam rentang A1:A10.

  1. Pertama masuk ke properti fungsi lembar kerja, lalu pilih fungsi SUM dari daftar.
    enter-worksheet-function
  2. Selanjutnya, Anda harus memasukkan tanda kurung awal seperti yang Anda lakukan saat memasukkan fungsi di spreadsheet.
    starting-parenthesis
  3. Setelah itu, kita perlu menggunakan objek rentang untuk merujuk pada rentang yang ingin kita hitung jumlahnya.
    use-the-range-object
  4. Di akhir, ketikkan tanda kurung tutup dan tetapkan nilai kembalian fungsi ke sel B1.
    closing-parenthesis
 Range ("B1") = Application.WorksheetFunction.Sum(Range("A1:A10"))

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

jalankan kode untuk menghitung

Jumlah nilai seluruh kolom atau baris

Dalam hal ini, cukup tentukan baris atau kolom, bukan rentang yang kita gunakan pada contoh sebelumnya.

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

Gunakan VBA untuk menambahkan nilai pilihan

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

 Sub vba_sum_selection() Dim sRange As Range Dim iSum As Long On Error GoTo errorHandler Set sRange = Selection iSum = WorksheetFunction.Sum(Range(sRange.Address)) MsgBox iSum 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 jumlahnya.

Jumlah VBA dari semua sel di atas

Kode berikut mengekstrak semua sel dan jumlah nilai dan memasukkan hasilnya ke dalam sel yang dipilih.

 Sub vba_auto_sum() 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.Sum(iRange) Exit Sub errorHandler: MsgBox "make sure to select a valid range of cells" End Sub

Tambahkan rentang dinamis menggunakan VBA

Demikian pula, Anda dapat menggunakan rentang dinamis saat menggunakan VBA untuk menambahkan nilai.

 Sub vba_dynamic_range_sum() 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.Sum(iRange) Exit Sub errorHandler: MsgBox "make sure to select a valid range of cells" End Sub

Tambahkan kolom atau baris dinamis

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

 Sub vba_dynamic_column() Dim iCol As Long On Error GoTo errorHandler iCol = ActiveCell.Column MsgBox WorksheetFunction.Sum(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.Sum(Rows(iCol)) Exit Sub errorHandler: MsgBox "make sure to select a valid range of cells" End Sub

Gunakan SUMIF dengan VBA

Sama seperti penjumlahan, Anda bisa menggunakan fungsi SUMIF untuk menjumlahkan nilai dengan kriteria seperti pada contoh berikut.

sumif-dengan-vba
 Sub vba_sumif() Dim cRange As Range Dim sRange As Range Set cRange = Range ("A2:A13") Set sRange = Range ("B2:B13") Range ("C2") = _ WorksheetFunction.SumIf(cRange, "Product B", sRange) End Sub

Tambahkan komentar

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