Showing posts with label VBA Excel. Show all posts
Showing posts with label VBA Excel. Show all posts

Menyimpan Dan Menutup Workbook Aktif Di VBA Excel

April 28, 2019 Add Comment



Apakah Anda muak dengan prompt tabungan saat menutup buku kerja ? Sebenarnya, Anda bisa menyimpan dan menutup buku kerja yang aktif tanpa ada perintah hanya dengan mengklik Command Button. Silahkan coba metode di tutorial ini.

Tolong lakukan hal berikut untuk menyimpan dan menutup buku kerja yang aktif tanpa diminta oleh Command Button di Excel.

1.   Klik Developer > Insert > Command Button 
Lalu tarik Command Button di lembar kerja Anda. Lihat tangkapan layar



2.  Klik kanan Command Button, 
Klik View Code dari menu klik kanan.


3.  Microsoft Visual Basic Application View Code muncul. 
Silahkan ganti kode asli di View Code dengan script VBA dibawah ini.
Kode VBA: Simpan dan tutup buku kerja dengan Command Button
Private Sub CommandButton1_Click()
Application.Quit
ThisWorkbook.Save
End Sub
Catatan: 
Dalam kode, CommandButton1 adalah nama Tombol Perintah yang Anda masukkan.

4. Keluar dari Microsoft Visual Basic untuk Aplikasi jendela.
      tekan lain + Q kunci secara bersamaan untuk 

5. Matikan Mode Desain bawah Developer Tab .

Mulai sekarang, saat mengklik Tombol Perintah, buku kerja yang aktif akan disimpan dan ditutup secara otomatis tanpa konfirmasi.

Membuat Tanggal Dan Waktu dengan VBA Excel

April 28, 2019 Add Comment


Contoh VBA Excel kali ini akan sedikit mengajak kita bersenang-senang, karena pada ulasan kali ini kita akan belajar bagaimana memasukkan tanggal dan waktu menggunakan script di VBA. 

VBScript tentang tanggal dan waktu ini membantu para pengembang untuk mengubah tanggal dan waktu dari satu format ke format yang lain atau untuk mengungkapkan tanggal atau waktu yang sesuai dengan kondisi tertentu. Penasaran bagaimana cara membuatnya? ikuti prosedur berikut.

Masukkan barisan kode di bawah ini pada worksheet Anda dan eksekusi kodenya. Untuk mengeksekusi baris kode, klik tombol command button pada sheet Anda. Makro berikut ini akan memberikan tahun dan tanggal. 

Untuk mendeklarasikan tanggal, gunakan pernyataan Dim. Untuk menginisialisasi tanggal, gunakan fungsi datevalue.
Dim exampleDate As Date
exampleDate = DateValue(“Jun 19, 2010”)
MsgBox Year(exampleDate)

Hasil yang akan Anda dapatkan :



Untuk menambahkan hari dan tanggal, gunakan fungsi DateAdd. Fungsi DateAdd memiliki tiga argumen. Isi “d” untuk menambahkan hari. Isi 3 untuk argumen kedua untuk menambah 3 hari. Argumen ketiga merupakan tanggal dimana jumlah hari akan ditambah.
Dim firstDate As Date, secondDate As Date
firstDate = DateValue(“Jun 19, 2010”)
secondDate = DateAdd(“d”, 3, firstDate)
MsgBox secondDate


Ubah “d” untuk “m” untuk menambahkan bulan ke tanggal. Tempatkan kursor pada DateAdd di Visual Basic Editor dan klik F1 untuk bantuan pada penentu interval lain. Anda bisa menggunakan format tanggal sesuai dengan keinginan Anda, apakah ingin menggunakan format Indonesia, Amerika, atau Jepang. Jenis format tergantung pada jendela Anda pengaturan waktu regional pada desktop Anda.

Untuk mendapatkan tanggal dan waktu, gunakan fungsi Now.
MsgBox Now
Hasil contoh VBA excel yang akan Anda dapatkan


Untuk mendapatkan waktu, gunakan fungsi Hour.
MsgBox Hour(Now)
Hasil yang akan Anda dapatkan


Fungsi TimeValue akan mengkonversi string ke nomor seri waktu. Nomor seri waktu adalah angka antara 0 dan 1. 

Sebagai contoh, siang (tengah hari menuju sore) akan direpresentasikan sebagai 0,5.
MsgBox TimeValue(“9:20:01 am”)
Hasil yang akan Anda dapatkan:


Sekarang, untuk melihat dengan jelas bahwa Excel menangani waktu secara internal sebagai angka antara 0 dan 1, tambahkan baris kode berikut:
Dim y As Double
y = TimeValue(“09:20:01”)
MsgBox y
Hasil yang akan Anda dapatkan:





Bekerja dengan Array

April 09, 2018 Add Comment
Sebagian besar bahasa pemrograman mendukung array. Array adalah sekelompok variabel yang memiliki nama umum. Anda merujuk ke variabel tertentu dalam Array dengan menggunakan nama Array dan nomor indeks dalam tanda kurung. 

Misalnya, Anda dapat menentukan Array dari 12 variabel string untuk menampung nama nama bulan di tahun ini. 

Jika Anda menamai Array MonthNames, Anda dapat merujuk ke elemen pertama dari larik sebagai MonthNames (1), elemen kedua sebagai MonthNames (2), dan seterusnya.

Deklarasikan Array
Sebelum Anda dapat menggunakan Array, Anda harus menyetelnya. Tidak ada pengecualian. Tidak seperti variabel biasanya, VBA sangat ketat tentang aturan ini.

Anda mendeklarasikan array dengan Dim atau Pernyataan publik, sama seperti Anda mendeklarasikan variabel biasa. Namun, Anda juga butuh untuk menentukan jumlah elemen dalam Array.

Anda memulai ini dengan menentukan nomor indeks pertama, kata kunci Ke, dan nomor indeks terakhir. Contoh berikut menunjukkan cara mendeklarasikan array 100 bilangan bulat:

Dim MyArray (1 To 100) sebagai Integer. Saat Anda mendeklarasikan array, Anda dapat memilih untuk hanya menetapkan indeks atas. VBA mengasumsikan bahwa 0 adalah indeks yang lebih rendah. Oleh karena itu, kedua pernyataan berikut mendeklarasikan susunan 101-elemen yang sama:
Dim MyArray (0 To 100) As Integer
Dim MyArray (100) As Integer
Jika Anda ingin VBA menganggap bahwa 1 (bukan 0) adalah indeks yang paling rendah untuk array Anda, sertakan pernyataan berikut di bagian Deklarasi dari modul Anda :
  • Option Base 1
Pernyataan ini memaksa VBA untuk menggunakan 1 sebagai nomor indeks pertama untuk array yang hanya menyatakan indeks atas. Jika pernyataan ini hadir, pernyataan berikut ini identik, keduanya menyatakan larik 100-elemen:
Dim MyArray (1 hingga 100) sebagai Integer
Dim MyArray (100) As Integer

Array multidimensi
Array yang dibuat dalam semua contoh sebelumnya adalah Array satu dimensi. Pikirkan susunan satu dimensi sebagai satu baris nilai. Array yang Anda buat di VBA dapat memiliki sebanyak 60 dimensi - meskipun Anda jarang membutuhkan lebih banyak dari dua atau tiga dimensi dalam Array.

Contoh berikut mendeklarasikan sebuah Array 81-integer dalam dua dimensi:
Dim MyArray (1 To 9, 1 To 9) As Integer
Anda dapat menganggap array ini sebagai menempati matriks  9 x 9 sempurna untuk menyimpan semua angka dalam teka-teki soduku. Untuk merujuk ke elemen tertentu dalam larik ini, Anda perlu menentukan dua indeks angka (mirip dengan "baris" dan  "kolom" di matriks). 

Contoh berikut ini menunjukkan bagaimana Anda dapat menetapkan nilai ke elemen dalam Array ini:
MyArray (3, 4) = 125
Pernyataan ini memberikan nilai ke satu elemen dalam Array. Jika Anda berpikir tentang array dalam hal matriks 9 x 9, ini menetapkan elemen 125 terletak di baris ketiga dan kolom keempat dari matriks.

Berikut cara mendeklarasikan array tiga dimensi, dengan 1.000 elemen:
  • Dim My3DArray (1 To 10, 1 To 10, 1 To 10) As Integer
Anda bisa membayangkan array tiga dimensi sebagai kubus. Memvisualisasikan suatu array
lebih dari tiga dimensi lebih sulit. Maaf, saya belum menguasai dimensi keempat dan seterusnya.

Dynamic Arrays
Anda juga dapat membuat dynamicarrays. Array dinamis tidak memiliki batasan jumlah elemen. Deklarasikan array dinamis dengan seperangkat tanda kurung kosong:
  • Dim MyArray () As Integer

Sebelum Anda dapat menggunakan array ini, Anda harus menggunakan pernyataan ReDim untuk memberi tahu VBA berapa banyak elemen yang dimiliki array. Biasanya, jumlah elemen dalam array ditentukan saat kode Anda berjalan. Anda dapat menggunakan status ReDim berapa kali, mengubah ukuran array sesering yang diperlukan.

Contoh berikut menunjukkan cara mengubah jumlah elemen dalam array dinamis. Ini mengasumsikan bahwa variabel NumElements mengandung nilai,
yang dihitung kalkulasi Anda.
  • ReDim MyArray (1 To NumElements)

Saat Anda melakukan redimensi suatu array dengan menggunakan ReDim, Anda menghapus nilai apa pun yang disimpan dalam elemen array. Anda dapat menghindari penghapusan nilai-nilai lama dengan menggunakan kata kunci Preserve.

Contoh berikut menunjukkan bagaimana Anda bisa mempertahankan nilai-nilai array saat Anda redimension array :
  • ReDim Preserve MyArray(1 To NumElements)

Jika MyArray saat ini memiliki sepuluh elemen dan Anda menjalankan keadaan sebelumnya dengan NumElements menyamai 12, sepuluh elemen pertama tetap utuh, dan
array memiliki ruang untuk dua elemen tambahan (hingga nomor yang ada di variabel NumElements).

Jika NumElements sama dengan 7, tujuh elemen yang pertama dipertahankan tetapi tiga elemen yang tersisa akan terhapus.


Visual Basic for Applications Excel Terminology

April 11, 2016 Add Comment

Explanation Have you ever wanted to customize Excel? For example, you might want to display a dialog box asking a user to enter specific data for a worksheet. 
Maybe you want to perform a decision-based task, such as displaying a message when a user activates a worksheet. You can do these things, and more, by programming in Visual Basic for Applications (VBA).
VBA is a programming language that’s part of the Microsoft Office suite. You can use VBA to create programs that work within Microsoft Office applications, such as Microsoft Excel and Microsoft Word. 
VBA is based on the concept of Object-Oriented Programming (OOP). OOP is a programming concept in which all the elements of a program are considered as objects.
VBA makes decision-based tasks easier, because its code can execute automatically in response to an action. For example, you can write VBA code to accept values and prompt the user to enter values if mandatory fields are skipped, ensuring the integrity of your data. 

VBA terminology
Using VBA, you can directly access objects to control and manipulate the behavior of the application. However, before you start coding in VBA, you need to be familiar with some key terms associated with it.
The following table describes some of these terms:

Term and Description
Object 
Any element of an application with specific characteristics and behavior. It’s a component that combines code and data. For example, workbooks, worksheets, ranges, and charts are all objects.
Property 
A characteristic or named attribute of an object. For example, Name and StandardWidth are the properties of the Worksheet object.
Method 
A behavior or action that’s performed by an object. For example, Calculate is a method that updates the values in a Worksheet object containing formulas.
Procedure 
A named sequence of instructions that performs a specific task. For example, you can create a procedure to save the changes made before closing a workbook.
Comment 
A line of text within a procedure, which you use to describe each line of code or the entire procedure. Comments always start with an apostrophe.
Module 
A file in which you can write and edit procedures and other VBA codes.


Collection and container objects

Objects can be either collection objects or container objects. 

A collection object 
is a set of related objects having the same properties. For example, the Worksheets collection object represents all the worksheets in a workbook.
A container object 
contains one or more objects, which may or may not be related. For example, Workbook is a container object that contains the Worksheet objects. The outermost container object is the Application object that contains all other Excel objects, such as Worksheets and Workbooks.

VBA and macros
Macros that you create and record using the Excel interface are written by Excel using VBA code. But there’s a difference between macros and VBA procedures that you write from scratch. 
A macro performs a set of instructions, then stops. For this reason, macros are very useful for automating repetitive tasks.
But macros follow a single execution path. A procedure written in VBA code can evaluate conditions, make decisions based on those conditions, and then alter the flow of execution.

Do it! 
A-1: Discussing VBAQuestions and answers
1 What’s the main advantage of VBA compared to macros?
VBA code can evaluate conditions, make decisions, and then execute automatically in response to those decisions. Recorded macros can only follow a single execution path.
2 Lets say you want to purchase a car. You can select a yellow, red, or black one. Identify the object and its property in this case.
•The car is the object 
•The color is the property
3 What’s a procedure?

A procedure is a named set of instructions that performs specified actions. For example, you can write a procedure that saves changes made before closing an Excel workbook.

4 You want a worksheet name to change automatically when text is entered in a specific cell. Would you record a macro or use VBA? Why?
You’d use VBA, because the code used to change the name would run automatically when the user enters text in a cell.