Saturday, November 21, 2015

Cara memilih sel/kisaran dengan menggunakan prosedur Visual Basic pada Excel

Microsoft menyediakan pemrogaman hanya untuk ilustrasi, tanpa garansi baik tersurat maupun tersirat. Ini mencakup, namun tidak terbatas pada, garansi yang tersirat pada keadaan yang dapat diperjualbelikan atau kesesuaian untuk tujuan tertentu. Artikel ini menganggap bahwa Anda sudah terbiasa dengan bahasa pemrogaman yang ditunjukkan dan dengan alat yang digunakan untuk membuat dan memperbaiki prosedur. Teknisi Microsoft dapat membantu menjelaskan fungsionalitas prosedur tertentu, tetapi mereka tidak akan mengubah contoh ini untuk memberikan fungsionalitas tambahan atau menyusun prosedur untuk memenuhi persyaratan khusus Anda. Contoh dalam artikel ini menggunakan metode Visual Basic yang didaftar di tabel berikut.
   Metode             Argumen
   ------------------------------------------
   Activate           tidak ada
   Cells              rowIndex, columnIndex
   Application.Goto   reference, scroll
   Offset             rowOffset, columnOffset
   Range              cell1
                      cell1, cell2
   Resize             rowSize, columnSize
   Select             tidak ada
   Sheets             index (atau sheetName)
   Workbooks          index (atau bookName)
   End                direction
   CurrentRegion      tidak ada
    
Contoh di dalam artikel ini menggunakan properti di tabel berikut ini.
   Properti         Penggunaan
   ---------------------------------------------------------------------
   ActiveSheet      untuk menentukan lembar aktif
   ActiveWorkbook   untuk menentukan buku kerja aktif
   Columns.Count    untuk menghitung jumlah kolom pada item tertentu
   Rows.Count       untuk menghitung jumlah baris pada item tertentu
   Pilihan        untuk mengacu kepada kisaran yang baru dipilih
    

1: Cara Memilih Sel pada Lembar Kerja Aktif

Untuk memilih sel D5 pada lembar kerja aktif, Anda dapat menggunakan salah satu contoh berikut:

ActiveSheet.Cells(5, 4).Select
    
-atau-

ActiveSheet.Range("D5").Select
    

2: Cara Memilih Sel pada Lembar Kerja Lain di Buku Kerja yang Sama

Untuk memilih sel E6 pada lembar kerja lain di buku kerja yang sama, Anda dapat menggunakan salah satu contoh berikut:

Application.Goto ActiveWorkbook.Sheets("Sheet2").Cells(6, 5)
    
   -atau-
    

Application.Goto (ActiveWorkbook.Sheets("Sheet2").Range("E6"))
    
Atau, Anda dapat mengaktifkan lembar kerja, kemudian gunakan metode 1 di atas untuk memilih sel:

Sheets("Sheet2").Activate
ActiveSheet.Cells(6, 5).Select
    

3: Cara Memilih Sel pada Lembar Kerja di Buku Kerja yang Lain

Untuk memilih sel F7 pada lembar kerja di buku kerja yang lain, Anda dapat menggunakan salah satu contoh berikut:

Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Cells(7, 6)
    
-atau-

Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("F7")
    
Atau, Anda dapat mengaktifkan lembar kerja, kemudian gunakan metode 1 di atas untuk memilih sel:

Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
ActiveSheet.Cells(7, 6).Select
    

4: Cara Memilih Kisaran Sel pada Lembar Kerja Aktif

Untuk memilih kisaran C2:D10 pada lembar kerja aktif, Anda dapat menggunakan salah satu contoh berikut:

ActiveSheet.Range(Cells(2, 3), Cells(10, 4)).Select
    

ActiveSheet.Range("C2:D10").Select
    

ActiveSheet.Range("C2", "D10").Select
    

5: Cara Memilih Kisaran Sel pada Lembar Kerja Lain di Buku Kerja yang Sama

Untuk memilih kisaran D3:E11 pada lembar kerja lain di buku kerja yang sama, Anda dapat menggunakan salah satu contoh berikut:

Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3:E11")
    

Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3", "E11")
    
Atau, Anda dapat mengaktifkan lembar kerja, kemudian gunakan metode 4 di atas untuk memilih kisaran:

Sheets("Sheet3").Activate
ActiveSheet.Range(Cells(3, 4), Cells(11, 5)).Select
    

6: Cara Memilih Kisaran Sel pada Lembar Kerja di Buku Kerja yang Lain

Untuk memilih kisaran E4:F12 pada lembar kerja di buku kerja yang lain, Anda dapat menggunakan salah satu contoh berikut:

Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4:F12")
    

Application.Goto _
      Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4", "F12")
    
Atau, Anda dapat mengaktifkan lembar kerja, kemudian gunakan metode 4 di atas untuk memilih kisaran:

Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
   ActiveSheet.Range(Cells(4, 5), Cells(12, 6)).Select
    

7: Cara Memilih Kisaran Bernama pada Lembar Kerja Aktif

Untuk memilih kisaran bernama "Uji" pada lembar kerja aktif, Anda dapat menggunakan salah satu contoh berikut:

Range("Test").Select
    

Application.Goto "Test"
    

8: Cara Memilih Kisaran Bernama pada Lembar Kerja Lain di Buku Kerja yang Sama

Untuk memilih kisaran bernama "Uji" pada lembar kerja lain di buku kerja yang sama, Anda dapat menggunakan salah satu contoh berikut:

Application.Goto Sheets("Sheet1").Range("Test")
    
Atau, Anda dapat mengaktifkan lembar kerja, kemudian gunakan metode 7 di atas untuk memilih kisaran bernama:

Sheets("Sheet1").Activate
Range("Test").Select
    

9: Cara Memilih Kisaran Bernama pada Lembar Kerja di Buku Kerja yang Lain

Untuk memilih kisaran bernama "Uji" pada lembar kerja di buku kerja yang lain, Anda dapat menggunakan salah satu contoh berikut:

Application.Goto _
   Workbooks("BOOK2.XLS").Sheets("Sheet2").Range("Test")
    
Atau, Anda dapat mengaktifkan lembar kerja, kemudian gunakan metode 7 di atas untuk memilih kisaran bernama:

Workbooks("BOOK2.XLS").Sheets("Sheet2").Activate
Range("Test").Select
    

10: Cara Memilih Sel Relatif Terhadap Sel Aktif

Untuk memilih sel yang berupa lima baris di bawah dan empat kolom ke kiri dari sel aktif, Anda dapat menggunakan contoh berikut:

ActiveCell.Offset(5, -4).Select
    
Untuk memilih sel yang berupa dua baris di atas dan tiga kolom ke kanan dari sel aktif, Anda dapat menggunakan contoh berikut:

ActiveCell.Offset(-2, 3).Select
    
Catatan Kesalahan akan terjadi jika Anda mencoba untuk memilih sel yang "di luar lembar kerja." Contoh pertama yang terlihat di atas akan menghasilkan kesalahan jika sel aktif berada di kolom A hingga D, karena memindahkan empat kolom ke kiri akan membawa sel aktif ke alamat sel yang tidak valid.

11: Cara Memilih Sel Relatif Terhadap Sel Lain (yang bukan Aktif)

Untuk memilih sel yang berupa lima baris di bawah dan empat kolom ke kiri dari sel C7, Anda dapat menggunakan contoh berikut:

ActiveSheet.Cells(7, 3).Offset(5, 4).Select
    

ActiveSheet.Range("C7").Offset(5, 4).Select
    

12: Cara Memilih Kisaran Offset Sel dari Kisaran Tertentu

Untuk memilih kisaran sel yang berukuran sama dengan kisaran bernama "Uji" tapi yang diubah empat baris ke bawah dan tiga kolom ke kanan, Anda dapat menggunakan contoh berikut:

ActiveSheet.Range("Test").Offset(4, 3).Select
    
Apabila kisaran bernama berada di lembar kerja lain (bukan yang aktif), aktifkan lembar kerja terlebih dahulu, kemudian pilih kisaran yang menggunakan contoh berikut:

Sheets("Sheet3").Activate
ActiveSheet.Range("Test").Offset(4, 3).Select
    

13: Cara Memilih Kisaran Tertentu dan Mengubah Pilihan

Untuk memilih kisaran bernama "Database" kemudian perpanjang pilihan sebesar lima baris, Anda dapat menggunakan contoh berikut:

Range("Database").Select
Selection.Resize(Selection.Rows.Count + 5, _
   Selection.Columns.Count).Select
    

14: Cara Memilih Kisaran Tertentu, Offset Kisaran, Kemudian Ubah Kisaran

Untuk memilih kisaran empat baris di bawah dan tiga kolom ke kanan dari baris bernama "Database" dan memasukkan dua baris dan satu kolom lebih dari kisaran bernama, Anda dapat menggunakan contoh berikut:

Range("Database").Select
Selection.Offset(4, 3).Resize(Selection.Rows.Count + 2, _
   Selection.Columns.Count + 1).Select
    

15: Cara Memilih Gabungan Dua Kisaran Tertentu atau Lebih

Untuk memilih gabungan (yaitu, area yang digabung) dari dua kisaran bernama "Uji" dan "Contoh," Anda dapat menggunakan contoh berikut:

Application.Union(Range("Test"), Range("Sample")).Select
    
Perlu diingat bahwa kedua kisaran harus berada di lembar kerja yang sama pada contoh ini untuk bekerja. Perlu diingat juga bahwa metode Gabungan tidak bekerja melewati lembar. Misalnya, baris berikut ini berfungsi baik

Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet1!C3:D4"))
    
namun baris ini

Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet2!C3:D4"))
    
menghasilkan pesan kesalahan:
Metode gabungan kelas aplikasi gagal

16: Cara Memilih Titik Potong Dua Kisaran Tertentu atau Lebih

Untuk memilih titik potong dari dua kisaran bernama "Uji" dan "Contoh," Anda dapat menggunakan contoh berikut:

Application.Intersect(Range("Test"), Range("Sample")).Select
    
Perlu diingat bahwa kedua kisaran harus berada di lembar kerja yang sama pada contoh ini untuk bekerja.



Contoh 17-21 dalam artikel ini mengacu kepada kumpulan data contoh berikut ini. Tiap contoh menyatakan kisaran sel dalam data contoh yang akan dipilih.
   A1: Nama    B1: Penjualan    C1: Kuantitas
   A2: a       B2: $10      C2: 5
   A3: b       B3:          C3: 10
   A4: c       B4: $10      C4: 5
   A5:         B5:          C5:
   A6: Jumlah Total   B6: $20      C6: 20
    

17: Cara Memilih Sel Terakhir pada Kolom Data Bersebelahan

Untuk memilih sel terakhir pada kolom yang bersebelahan, gunakan contoh berikut:

ActiveSheet.Range("a1").End(xlDown).Select
    
Pada saat kode ini digunakan dengan tabel contoh, sel A4 akan dipilih.

18: Cara Memilih Sel Kosong di Bagian Bawah Kolom Data Bersebelahan

Untuk memilih sel di bawah kisaran sel yang bersebelahan, gunakan contoh berikut:

ActiveSheet.Range("a1").End(xlDown).Offset(1,0).Select
    
Pada saat kode ini digunakan dengan tabel contoh, sel A5 akan dipilih.

19: Cara Memilih Seluruh Kisaran dari Sel yang Bersebelahan pada Kolom

Untuk memilih kisaran sel yang bersebelahan pada kolom, gunakan salah satu dari contoh berikut ini:

ActiveSheet.Range("a1", ActiveSheet.Range("a1").End(xlDown)).Select
    
   -atau-
    

ActiveSheet.Range("a1:" & ActiveSheet.Range("a1"). _
      End(xlDown).Address).Select
    
Pada saat kode ini digunakan dengan tabel contoh, sel A1 hingga A4 akan dipilih.

20: Cara Memilih Seluruh Kisaran dari Sel yang Tidak Bersebelahan pada Kolom

Untuk memilih kisaran sel yang tidak bersebelahan, gunakan salah satu dari contoh berikut ini:

ActiveSheet.Range("a1",ActiveSheet.Range("a65536").End(xlUp)).Select
    
   -atau-
    

ActiveSheet.Range("a1:" & ActiveSheet.Range("a65536"). _
   End(xlUp).Address).Select
    
Pada saat kode ini digunakan dengan tabel contoh, kode tersebut akan memilih sel A1 hingga A6.

21: Cara Memilih Kisaran Sel Persegi

Untuk memilih kisaran sel persegi di sekitar sel, gunakan metode CurrentRegion. Kisaran yang dipilih dengan metode CurrentRegion adalah area yang dikelilingi oleh kombinasi dari baris kosong dan kolom kosong. Berikut ini adalah contoh dari cara menggunakan metode CurrentRegion:

ActiveSheet.Range("a1").CurrentRegion.Select
    
Kode ini akan memilih sel A1 hingga C4. Contoh lain untuk memilih kisaran sel yang sama ada dalam daftar berikut:

ActiveSheet.Range("a1", _
   ActiveSheet.Range("a1").End(xlDown).End(xlToRight)).Select
    
   -atau-
    

ActiveSheet.Range("a1:" & _
   ActiveSheet.Range("a1").End(xlDown).End(xlToRight).Address).Select
    
Pada beberapa contoh, Anda dapat memilih sel A1 hingga C6. Dalam contoh ini, metode CurrentRegion tidak akan bekerja karena adanya baris kosong pada Kisaran 5. Contoh berikut ini akan memilih semua sel:

lastCol = ActiveSheet.Range("a1").End(xlToRight).Column
lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("a1", ActiveSheet.Cells(lastRow, lastCol)).Select
    
    -atau-
    

lastCol = ActiveSheet.Range("a1").End(xlToRight).Column
lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("a1:" & _
   ActiveSheet.Cells(lastRow, lastCol).Address).Select
    

22. Cara Memilih Banyak Kolom yang Tidak Bersebelahan dengan Panjang yang Berbeda

Untuk memilih banyak kolom yang tidak bersebelahan dengan panjang yang berbeda, gunakan tabel contoh dan contoh makro berikut ini:
   A1: 1   B1: 1   C1: 1  D1: 1
   A2: 2   B2: 2   C2: 2  D2: 2
   A3: 3   B3: 3   C3: 3  D3: 3
   A4:    B4: 4   C4: 4  D4: 4
   A5:    B5: 5   C5: 5  D5:
   A6:    B6:    C6: 6  D6:
    

StartRange = "A1"
EndRange = "C1"
Set a = Range(StartRange, Range(StartRange).End(xlDown))
Set b = Range(EndRange, Range(EndRange).End(xlDown))
Union(a,b).Select
    
Pada saat kode ini digunakan dengan tabel contoh, sel A1:A3 dan C1:C6 akan dipilih.

CATATAN TENTANG CONTOH

  • Properti ActiveSheet biasanya dapat dihilangkan, karena properti tersebut tersirat jika lembar tertentu tidak diberi nama. Misalnya, selain daripada
    
    ActiveSheet.Range("D5").Select
          
    Anda dapat menggunakan:
    
    Range("D5").Select
          
  • Properti ActiveWorkbook biasanya juga dapat dihilangkan. Kecuali jika buku kerja khusus diberi nama, buku kerja yang aktif tidak dinyatakan secara langsung.
  • Saat Anda menggunakan metode Application.Goto, jika Anda ingin menggunakan dua metode Sel pada metode Kisaran ketika kisaran tertentu ada di lembar kerja lain (bukan yang aktif), Anda harus memasukkan objek Lembar setiap saat. Misalnya:
    
    Application.Goto Sheets("Sheet1").Range( _
          Sheets("Sheet1").Range(Sheets("Sheet1").Cells(2, 3), _
          Sheets("Sheet1").Cells(4, 5)))
         
  • Untuk item dalam tanda petik (misalnya, kisaran bernama "Uji"), Anda juga dapat menggunakan variabel yang nilainya merupakan untaian kata. Misalnya, selain daripada
    
    ActiveWorkbook.Sheets("Sheet1").Activate
          
    Anda dapat menggunakan
    
    ActiveWorkbook.Sheets(myVar).Activate
          
    dimanan nilai myVar adalah "Sheet1".

penjumlahan excel vba textbox

Untuk dasar dasar textbox sendiri sudah pernah saya ulas pada artikel "Kontrol Textbox bagian satu" silahkan dibaca baca untuk sekedar saling mengingatkan, jawaban atas pertanyaan diatas tentang penjumlahan dengan textbox.
Langsung saja saya jawab dengan asumsi
  • Textbox Hasil # Textbox3
  • Kemudian Textbox1 dan Textbox2 merupakan target yang akan dijumlah
Modul VBE untuk menjumlah 
Private Sub TextBox2_Change()
TextBox3.Value = TextBox1.Value + TextBox2.Value
End Sub
Modul diatas akan berjalan ketika nilai textbox2 dirubah.
Untuk menghindari debug saat Textbox1 dan Textbox2 bernilai blank atau "" maka anda perlu menambahkan sedikit modul dibawah ini
Private Sub TextBox2_Change()
if TextBox1.Value = "" or TextBox2.Value = "" then
Exit Sub
End Sub
Modul diatas adalah syarat untuk menjalankan modul penjumlahan, syarat untuk menjalankan penjumlahan adalah Textbox1 dan Textbox2 tidak boleh bernilai Blank atau "", jadi ketika modul diatas disatukan akan menjadi seperti ini
Private Sub TextBox2_Change()
if TextBox1.Value = "" or TextBox2.Value = "" then
Exit Sub
TextBox3.Value = TextBox1.Value + TextBox2.Value
End Sub
Dan modul terakhir ini adalah penjumlahan jika nilai textbox terformat mata uang atau angka desimal
Private Sub TextBox2_Change()
if TextBox1.Value = "" or TextBox2.Value = "" then
Exit Sub
TextBox3.Value = Format(Cdbl(TextBox1.Value) + Cdbl(TextBox2.Value), "#,##0")
End Sub
Mungkin demikian saja jawaban atas pertanyaan diatas Penjumlahan pada textbox, dan semoga bermanfaat

objec rang excel vba

tutorialmicrosoftexcel.net – Object Range, yang merupakan representasi dari cell (atau sel) pada lembar kerja Anda. Range adalah objek yang paling penting ketika anda memulai Menggunakan Microsoft Excel VBA. Pada tutorial microsoft excel kali ini akan memberikan gambaran sifat dan metode dari objek Range. Object Range Properti adalah merupakan sesuatu metode tindakan yang  dimiliki objek range (menggambarkan objek). Dalam menggunakan VBA excel sangat penting mengetahui methode, properti objek range dan cara mendefinisikan objek range pada VBA Microsoft Excel.

Contoh Range

syntax range pada VBA sebagai berikut :
range(cell 1, cell 2)
keterangan :
cell 1 (required) : merupakan batas awal dari range (jangkauan)
cell 2 (optional) : merupakan batas akhir dari range (jangkauan). Optional jika tidak diisi cell 2 maka object range hanya mengambil nilai cell 1.
contoh : range(A1, B6)
Untuk lebih memahami penggunaan objek range pada VBA excel lakukan langkah langkah berikut ini.
  1. Buatlah tombol pada microsoft excel seperti gambar dibawah ini VBA Microsoft Excel
  2. Lalu double klik pada commanButton1 untuk menampilkan jendela Visual basic. range2ketiklah “Range(“A2”, “C4”) = 4” lalu jalankan VBA Macro Excel
  3. Hasil akan tampak seperti dibawah ini VBA Microsoft Excel

Cells

Selain Range anda juga dapat menggunakan Cells, Cells sangat berguna jika anda ingin menggunakan looping mengenai rentang range. Contoh penggunaan range dapat anda lihat di bawah ini
kode :
Cells(3, 2).Value = 2
VBA Microsoft Excel
kode :
Range(Cells(1, 1), Cells(4, 1)).Value = 5
VBA Microsoft Excel

Deklarasi Range

Anda dapat juga mendeklarasikan sebuah range dengan menggunakan perintah dim dan set pada VBA Macro Excel. Contoh
kode :
Dim myrange As Range
Set myrange = Range(“A1:C4”)
myrange.Value = 8
Hasilnya akan seperti ini VBA Microsoft Excel

Select

Select merupakan method yang disediakan untuk range yang berfungsi untuk memilih range tertentu atau bagian tertentu dalam range. Contoh penggunaan :
kode :
Dim example As Range
Set example = Range(“A1:C4”)
example.Select
Hasilnya akan seperti gambar dibawah ini VBA Microsoft Excel

Rows

Rows merupakan properti dari range yang berfungsi untuk memberikan akses terhadap baris (row) tertentu pada Microsoft Excel. Contoh penggunaan :
kode :
Dim example As Range
Set example = Range(“A1:C4”)
example.Rows(3).Select
Hasilnya akan seperti di bawah ini rows-property

Columns

Sama halnya dengan Rows Fungsi Columns memberikan akses kepada kolom tertentu pada Microsoft Excel. Contoh Penggunaannya :
kode :
Dim example As Range
Set example = Range(“A1:C4”)
example.Columns(2).Select
Hasilnya seperti di bawah ini VBA Microsoft Excel

Copy/Paste

Copy dan Paste merupakan metode yang digunakan untuk menggandakan dan menyalin range tertentu. Contoh :
kode :
Range(“A1:A2”).Select
Selection.Copy
Range(“C3”).Select
ActiveSheet.Paste
Hasilnya akan seperti gambar di bawah ini : VBA Microsoft Excel

ClearContents

Untuk menghapus isi dari sebuah jangkauan (Range) anda dapat menggunakan metode ClearContents. Contoh :
Kode :
Range(“A1”).ClearContents
Atau bisa dengan
Range(“A1″).Value =” ”

Count

Count merupakan properti untuk menghitung jumlah cells dari sebuah jangkauan (Range). Contoh penggunaan : VBA Microsoft Excel Macro
kode :
Dim example As Range
Set example = Range(“A1:C4”)
MsgBox example.Count
Hasilnya akan seperti di bawah ini :
Macro VBA Microsoft Excel MacroMemaksimalkan aplikasi Macro VBA Excel untuk melakukan manipulasi dan pengolahan data dengan microsoft excel sangat mudah dan menyenangkan. Tutorial Microsoft Excel selalu berusaha memenuhi kebutuhan belajar microsoft excel anda.

mengenal macro lanjut

Halo semua..!
Beberapa hari yang lalu kita sudah belajar membuat macro excel dengan merekam macro (record macro). Nah, hari ini, kita akan melanjutkan cara mengedit macro yang sudah kita rekam.
Karena ini adalah kelanjutan dari artikel sebelumnya, sebaiknya, anda telah benar-benar memahami artikel sebelumnya.
OK, kita anggap, semua sudah membaca dan memahami artikel sebelumnya.
Dan project kita kali ini adalah:
Bila sebelumnya kita memiliki data dengan jumlah row (baris) yang sama, maka kali ini, kita harus mengatur format data penjualan yang memiliki jumlah row yang berbeda-beda.

1belajar-macro-dasarb020

Artinya, format antara satu file dengan file yang lain akan berbeda-beda. Akibatnya, kita tidak akan bisa menggunakan template macro yang sama untuk masing-masing file. Untuk itu, kita harus meng-edit hasil rekaman macro agar bisa digunakan untuk setiap file-file yang berbeda-beda.
Ok, kita mulai langkah-langkahnya.. Langkah-langkah awalnya sama dengan artikel sebelumnya.
A. Buka salah satu file excel untuk kita jadikan template.

B. Klik tombol “Record Macro”.

C. Atur format dokumen sesuai yang diinginkan.

2belajar-macro-dasarb010

1. Format header menjadi bold (tebal)
2. Ganti warna latar belakang header menjadi warna hijau toska.
3. Atur tinggi row (baris)
4. Atur agar alignment menjadi center
5. Ganti format tanggal menjadi 01-mar-10
6. Ganti format angka menjadi currency Rp.
7. Buat border di setiap cell.
D. Klik tombol stop untuk menghentikan mode merekam.

E. Buka visual basic editor.

3belajar-macro-dasarb002

4belajar-macro-dasarb003

Klik module untuk memunculkan progam editor.

5belajar-macro-dasarb004

Maka akan muncul baris-baris program hasil rekaman kita dengan nama Macro1.

6belajar-macro-dasarb005

Bila dilihat masing-masing baris program, maka berikut adalah baris peogram hasil rakaman tiap-tiap format.
1. Format header menjadi bold (tebal)
7belajar-macro-dasarb011
2. Ganti warna latar belakang header menjadi warna hijau toska.
7belajar-macro-dasarb011 1
3. Atur tinggi row (baris)
8belajar-macro-dasarb013
4. Atur agar alignment menjadi center
9belajar-macro-dasarb014
5. Ganti format tanggal menjadi 01-mar-10
10belajar-macro-dasarb015
6. Ganti format angka menjadi currency Rp.
11belajar-macro-dasarb016
7. Buat border di setiap cell.
12belajar-macro-dasarb017

Dari 7 pengaturan format, maka yang memiliki ketergantungan terhadap jumlah row (baris) adalah pengaturan no. 7 (Buat border di setiap cell).
F. Edit baris program.
Karena tiap-tiap file memiliki jumlah row yang berbeda-beda, maka program kita harus bisa menghitung jumlah row. Bila kita sudah tahu berapa jumlah row-nya, maka kita bisa melakukan “cell selection” sesuai (pas) dengan jumlah row yang ada.
Dengan demikian, kita bisa membuat border di tiap cell yang memiliki nilai saja.
Nah, baris program yang harus ditambahkan dan diedit adalah baris sebelum pembuatan border:

13belajar-macro-dasarb018

Baris yang di-highlight bertujuan untuk: Memasukkan jumlah baris yang memiliki nilai kedalam variabel BarisSource. Selanjutnya, melakukan selection dari cell A1 sampai dengan D + nilai variabel BarisSource. Proses editing baris program selesai.
G. Dalam keadaan template masih aktif, kembali buka file excel yang lainnya.

H. RUN Macro1
Daaaaan.. File excel pun terformat. Buka file excel lainnya yang memiliki jumlah row yang berbeda dan ulangi RUN Macro1. Daaaan, file excel pun kembali terformat..

14belajar-macro-dasarb019

Ok… sampai disini untuk hari ini..
Jangan lupa beri komentar dan tunggu artikel-artikel selanjutnya.. See ya..

rumus excel dan vba dasar



Mengenal Fungsi atau Rumus Microsoft Excel
Setelah mengenal Tipe Data Microsoft Excel, dan bisa memulai menggunakan aplikasi excel sekarang Kita coba bahas rumus excel yang sering digunakan dalam dunia kerja atau administrasi perkantoran.

1. Fungsi Average

Fungsi ini digunakan untuk mencari nilai rata-rata dari sekumpulan data (range). Bentuk umum penulisannya adalah ;

=AVERAGE(number1, number2,…), dimana number1, number2, dan seterusnya adalah range data yang akan dicari nilai rata-ratanya. Misalnya untuk mengisi nilai rata-rata dari range data E8 sampai G8, maka rumusnya adalah =AVERAGE(E8:G8) kemudian tekan tombol Enter.


2. Fungsi Sum
Fungsi SUM digunakan untuk menjumlahkan sekumpulan data pada suatu range. Bentuk umum penulisan fungsi ini adalah =SUM(number1, number2,…). Dimana number1, number2 dan seterusnya adalah range data yang akan dijumlahkan. Misalnya untuk menjumlahkan range data E8 sampai G8, maka rumusnya adalah =SUM(E8:G8) kemudian tekan tombol Enter.

3. Fungsi Max
Fungsi ini digunakan untuk mencari nilai tertinggi dari sekumpulan data (range). Bentuk umum penulisannya adalah ;
=MAX(number1, number2,…), dimana number1, number2, dan seterusnya adalah range data (numerik) yang akan dicari nilai tertingginya. Misalnya untuk mencari nilai maksimal dari range data E8 sampai G8, maka rumusnya adalah =MAX(E8:G8) kemudian tekan tombol Enter.

4. Fungsi Min
Fungsi Min adalah kebalikan dari fungsi Max, jika fungsi Max untuk mencari nilai tertinggi atau maksimal maka Min adalah untuk mencari nilai terkecil atau minimum dari sekumpulan data numerik. Bentuk umum penulisannya adalah ; 
=MIN(number1, number2,…), dimana number1, number2, dan seterusnya adalah range data (numerik) yang akan dicari nilai tertingginya. Sebagai contoh untuk mencari nilai terendah dari range data E8 sampai G8, maka rumusnya adalah =MIN(E8:G8) kemudian tekan tombol Enter.

5. Fungsi Count
Fungsi Count digunakan untuk menghitung jumlah data dari suatu range yang kita pilih. Bentuk umum penulisannya adalah ; 
=COUNT(number1, number2,…), dimana number1, number2, dan seterusnya adalah range data (numerik) yang akan dihitung jumlah datanya. Sebagai contoh untuk menghitung jmlah data dari range data E8 sampai G8, maka rumusnya adalah =COUNT(E8:G8) kemudian tekan tombol Enter.

6. Fungsi Logika IF
Fungsi ini digunakan jika data yang dimasukkan mempunyai kondisi tertentu. Misalnya, jika nilai sel A1=1, maka hasilnya 2, jika tidak, maka akan bernilai 0. Biasanya fungsi ini dibantu oleh operator relasi (pembanding) seperti berikut:
Lambang Fungsi
= Sama dengan
< Lebih kecil dari
> Lebih besar dari
<= Lebih kecil atau sama dengan
>= Lebih besar atau sama dengan
<> Tidak sama dengan
Bentuk umum penulisan fungsi ini adalah ;
=IF(logical_test,value_if_true,value_if_false), artinya kalau ekspresi logika (logical_test) bernilai benar, maka perintah pada value_if_true akan dilaksanakan, jika salah, maka perintah pada value_if_false yang akan dilaksanakan. Perhatikan contoh berikut:
Contoh logika IF
Contoh logika IF
Kolom keterangan diisi dengan ketentuan, jika kolom TANDA sama dengan K, maka keterangannya KAWIN, jika tidak, maka keterangan berisi TIDAK KAWIN. Ini dapat diselesaikan dengan rumus =IF(C3=”K”, “KAWIN”,”TIDAK KAWIN”). Pada rumus diatas Kita lihat bahwa jika datanya bertipe Teks/alpha numerik harus diapit oleh tanda kutip dua, lain halnya dengan tipe data numerik, tidak boleh menggunakan tanda kutip. Nah sekarang bagaimana jika ada beberapa kondisi/bertingkat (IF Bertingkat) seperti pada kasus nilai mahasiswa. Tidak perlu khawatir, langsung saja perhatikan gambar diatas pada tabel sebelah kanan. =IF(H3>=81,"A",IF(H3>=66,"B",IF(H3>=56,"C",IF(H3>40,"D","E")))), hal yang sama juga bisa dilakukan untuk mengisi kolom keterangan, dengan ketentuan, Jika nilai hurufnya sama dengan “A” maka keterangan “SANGAT MEMUASKAN, jika “B” maka “MEMUASKAN”, jika “C”, maka “CUKUP”, dan jika “D” maka bernilai “KURANG”, selain dari itu, maka bernilai “GAGAL”. Nah sekarang sudah paham kan bagaimana cara menggunakan fungsi IF, sekarang langsung dipraktekkan deh supaya tidak lupa.
Cara Menulis Rumus Excel
Setelah mengenal beberapa rumus excel yang sering digunakan untuk administrasi diatas, maka sekarang Kita bahas cara menuliskan rumus excel di area lembar kerja.
Cara 1: Menulis rumus dengan mengetikkan angka langsung
  • Letakkan penunjuk sel pada sel tempat hasil rumus akan ditampilkan 
  • Pada formula bar, ketikkan = 5000000+3500000, lalu tekan tombol enter.
Note : Menulis rumus dengan cara ini cukup mudah kalau rumusnya sederhana dan pendek serta angkanya tetap.

Cara 2: Menulis rumus dengan menggunakan alamat sel
  • Letakkan penunjuk sel pada sel tempat hasil rumus ditampilkan 
  • Pada formula bar, ketikkan = C4+C5, lalu tekan tombol enter.
Note : Menulis rumus dengan cara ini sangat bermanfaat jika datanya sering berubah.

Cara 3: Menulis rumus dengan bantuan mouse
  • Letakkan penunjuk sel pada sel tempat hasil rumus akan ditampilkan
  • Ketikkan = , kemudian pilih dan klik sel C4
  • Ketik +, kemudian pilih dan klik sel C5
  • Tekan tombol enter
Note : Menulis rumus dengan cara ini sangat dianjurkan karena memperkecil kemungkinan salah ketik alamat sel.
Operator Matematika yang Sering Digunakan
Rumus merupakan bagian terpenting dari Program Excel ini, karena setiap tabel dan dokumen yang Kita ketik akan selalu berhubungan dengan rumus dan fungsi. Operator matematika yang akan sering digunakan dalam rumus adalah sebagai berikut:
+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian
^ Perpangkatan
% Persentase
Proses perhitungan akan dilakukan sesuai dengan derajat urutan dari operator ini, dimulai dari pangkat (^), kali (*), atau bagi (/), tambah (+) atau kurang (-). Jika pekerjaan Anda adalah berhubungan dengan data statistik, maka Anda akan sering menjumpai operator-operator matematika diatas.


Koleksi Macro Dasar Excel
Tulisan berikut ini merupakan terjemahan dari http://www.panzerbasics.com/index_files/97-excel/basic-macros.htm

Sebagai pemrogram VBA pemula, saya perlu mengumpulkan macro yang saya buat atau temukan. Menaruhnya di Internet hanyalah sebuah langkah lanjutan kecil.

Jika anda menjalankan sebuah macro, aksinya tidak bisa dibatalkan. Menggunakan macro yang disediakan di sini adalah urusan anda sendiri.

Camkanlah bahwa macro bisa sangat bermanfaat, namun juga bisa berbahaya jika berasal dari sumber yang tidak dikenal.

Code-code macro dasar berikut ini berasal dari seantero Internet atau dibuat oleh saya sendiri. Oleh karena sangat umum dan dasar, saya tidak mencantumkan sumbernya. Jika seseorang mengenalnya sebagai buatannya dan ingin namanya dicantumkan atau code dihapus, silahkan menghubungi saya.



Macro yang disediakan berikut ini adalah pilihan saya dan bisa digunakan sebagai permulaan atau untuk membantu anda pada proyek-proyek dasar. Gunakan imajinasi anda untuk menyesuaikannya dengan proyek anda, atau lakukan pencarian lebih lanjut di Internet.

Code-code sudah saya coba dan verifikasi untuk dijalankan pada Excel 2007. Harap diingat bahwa kita bisa mencapai suatu tujuan dengan cara yang berbeda.

Macro umumnya dimulai dengan baris: "Sub Name()", dimana Name bisa diganti dengan nama yang ingin anda gunakan. Macro diakhiri dengan baris "End Sub".

Untuk kejelasan dan kemudahan dalam pemakaian yang berbeda, saya tidak mencatumkan baris-baris ini lagi kecuali untuk alasan tertentu.

Jika "Sub" diganti dengan "Function", code akan berjalan sama saja, namun macro tidak tampak pada daftar macro yang tersedia. Kelemahan cara ini adalah function akan tampak dalam daftar function. Jika "Private" ditambahkan sebelum "Sub" atau "Function", macro hanya bisa dipanggil dari module yang sama, dan juga tidak muncul dalam daftar.
Activate
Sub Worksheet_Activate()
MsgBox "Hello"
End Sub
Active Cell, Position
myRow = ActiveCell.Row
myCol = ActiveCell.Column
MsgBox myRow & "," & myCol
Active Cell, Selection to far left
Selection.End(xlToLeft).Select

OR

Range("A" & ActiveCell.Row).Select
Active Cell in top left of screen
With ActiveWindow
.ScrollColumn = ActiveCell.Column
.ScrollRow = ActiveCell.Row
End With
Active Cell, Value
MsgBox ActiveCell.Value
Auto Run
Sub Auto_Open()
MsgBox "Hello"
End Sub
Auto Run(2)
Sub Workbook_Open()
MsgBox "Hello"
End Sub
Auto Save
This workbook: ' = Autorun
Sub Workbook_Open()
Call SaveMe
End Sub

In Module:
Sub SaveMe()
ThisWorkbook.Save
Application.OnTime Now + Timeserial(0,15,0),"SaveMe"
 ' Timeserial=(h,m,s)
End Sub
Available Row (next)
Range("a65536").End(xlUp).Offset(1, 0).Select
 
Call -
Running a subroutine
Call Macro2  'This calls for Macro2 to run within your Macro
Case Title
Dim cell As Range
For Each cell In Selection.Cells
If cell.HasFormula = False Then
cell = Application.Proper(cell)
End If
Next
Case Upper / Lower
Dim cell As Range
For Each cell In Selection.Cells
If cell.HasFormula = False Then
cell = UCase(cell)
End If
Next
 
Column Letters
Dim MyColumn As String, Here As String
Here = ActiveCell.Address
MyColumn = Mid(Here, InStr(Here, "$") + 1, InStr(2, Here, "$") - 2)
MsgBox MyColumn
Counting Rows & Columns
myRows = Selection.Rows.Count
myColumns = Selection.Columns.Count
MsgBox "Rows = " & myRows & vbCrLf & "Colums = " & myColumns
Carriage Return
MsgBox "Line 1" &  vbCrLf & "Line 2" 
Copy Range (1)
Sheet1.Range("A1:C1").Copy Destination:=Sheet2.Range("A1")
Copy Range (2)
Range("A1:B1").Copy
Range("A2").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Counter
Range("A1") = Range("A1") + 1

OR

myCount = Range("a1") + 1
Range("a1") = myCount
Current Date
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Range("A1") = Now
End Sub
Delete Empty Rows
firstRow = Selection.Row
lastRow = Selection.Row + Selection.Rows.Count
 For rownumber = lastRow To firstRow Step -1
  If Application.WorksheetFunction.CountA(Rows(rownumber)) = 0 _
   Then Rows(rownumber).Delete
 Next rownumber
Error Trapping
On Error Resume Next

OR

Sub Name()
On Error Goto ErrorHandler1
... more lines of code
Exit Sub
ErrorHandler1:
... code specifying action on error
End Sub
File Name & Path
Range("A1") = Application.ActiveWorkbook.FullName
For, Next Loop

Goto (Code)

Input Box
Dim MyInput
MyInput = InputBox("Enter something")
Range("A1") = MyInput
If, Then Statement
If Range("B1") > 10 Then
   Range("B2") = 10
ElseIf Range("B2") > 5 Then
   Range("B2") = 5
Else
   Range("B2") = 1
End If
Joining Text
myCol = Selection.Columns.Count - 1
n = 0
   For n = 0 To Selection.Rows.Count - 1
      For i = 1 To myCol
         ActiveCell.Offset(n, 0) = ActiveCell.Offset(n, 0) & ActiveCell.Offset(n, i)
         ActiveCell.Offset(n, i) = ""
      Next i
   Next n
Message Box
MsgBox "Created by: Your Name here"
MsgBox "Different Icon", vbInformation
MsgBox "Different Icon And Title", vbExclamation, "Your warning message"
Modeless Forms
UserForm.show vbModeless
Moving the Cursor
ActiveCell.Offset(1, 0).Select
Protecting / Unprotecting a sheet
'Protect
Dim Password
Password = "xxxx"
ActiveSheet.Protect Password, True, True, True

'Unprotect
Password = "xxxx"
ActiveSheet.Unprotect Password
Random numbers
MyNumber = Int((10 - 1 + 1) * Rnd + 1)
Range("A1") = MyNumber
Rounding Numbers
ActiveCell = Application.round(ActiveCell, 2)
Saving your Workbook
ActiveWorkbook.Save
ScreenUpdating
Application.ScreenUpdating = False / True
Select Case statement
Select Case Range("A1").Value
   Case 100, 150 
' = 100 OR 150
      Range("B1").Value = Range("A1").Value
   Case 200 To 300, 400 To 500
 ' = Between 200 and 300 OR between 400 and 500
      Range("B2").Value = Range("A1").Value
   Case Else
      Range("B1").Value = 0
End Select
Select Data Range
Dim myLastRow As Long
Dim myLastColumn As Long
Range("A1").Select
 On Error Resume Next
    myLastRow = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
    myLastColumn = Cells.Find("*", [A1], , , xlByColumns, xlPrevious).Column
myRange = "a1:" & Cells(myLastRow, myLastColumn).Address
Range(myRange).Select
Sheets Hiding
Sheet1.Visible = xlSheetVeryHidden
Text Edit
MsgBox Left("abcd", 2)       'Displays 2 characters from Left
MsgBox Right("abcd", 2)    
'Displays 2 characters from Right
MsgBox Len("abcd")           
'Displays number of characters (Including space)
Timer
Application.Wait Now + TimeValue("00:00:05")
MsgBox ("This was a 5 second delay")
Time last save
MsgBox Excel.Application.ThisWorkbook.BuiltinDocumentProperties("Last Save Time")
vbYesNo
YesNo = MsgBox("This macro will ... Do you want to continue?", vbYesNo + vbCritical, "Caution")
Select Case YesNo
Case vbYes
'Insert your "Yes" code here.
Case vbNo
'Insert your "No" code here.
End Select