Kode Makro Dasar untuk Project VBA Sederhana
Saya akhir-akhir ini semenjak pandemi COVID-19 selalu blog walking untuk mencari tambahan ilmu daripada otak saya nganggur 😂. Dan Alhamdulillah saya mendapatkan beberapa ilmu dari dunia Youtube yang mungkin Anda juga membutuhkannya. Dan tenang akan saya bagikan disini secara gratis.
1. Kode makro SaveAs
Private Sub saveas_Click()
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogSaveAs)
fd.Title = "Pilih Lokasi Penyimpanan"
fd.InitialFileName = Environ("UserProfile") & "\Desktop\" & ThisWorkbook.Name
fd.FilterIndex = 2
fd.show
fd.Execute
End Sub
2. Kode makro Save
Private Sub simpan_Click()
Thisworkbook.Save
End Sub
3. Kode makro Save and Close
Private Sub SimpanTutup_Click()
ActiveWorkbook.Close savechanges:=True
End Sub
4. Kode makro Save dengan Notifikasi 1
Sub SimpanTutup_Click()
Dim keluar As Integer
keluar = MsgBox("Apakah Anda ingin menyimpan data " & Me.Name & "?", vbYesNoCancel)
Select Case keluar
Case vbYes
ActiveWorkbook.Close savechanges:=True
Case vbNo
ActiveWorkbook.Close savechanges:=False
Case Cancel
ActiveWorkbook.Cancel
End Select
End Sub
5. Kode makro Save dengan Notifikasi 2
Private Sub cmdKeluar_Click()
If MsgBox("Anda yakin ingin keluar???", vbInformation + vbYesNo, ".:Konfirmasi:.") = vbYes Then
Unload Me
End If
End Sub
6. Kode makro Exit Aplikasi
Private Sub exit_Click()
Application.Quit
End Sub
7. Menambahkan Link di Notifikasi
Private Sub mylink_Click()
ActiveWorkbook.FollowHyperlink Address:="http://onizukartz.my.id", NewWindow:=True
End Sub
8. Kode Makro Print
Sub cetak_Click()
ActiveWorkbook.ActiveSheet.PrintPreview
End Sub
Kode macro lanjutan (BONUS KODE)
1. Kode makro mengaktifkan sheet tertentu pada saat membuka excell
Langkah pertama buka VBA, kemudian pada jendela kiri cari Thisworkbook. Masukkan kode berikut.
Private Sub Workbook_Open()
Worksheets("MenuUtama").Activate
End Sub
2. Kode makro hilangkan semua toolbar (tampilan Fullscreen)
Kode ini digunakan jika Anda menginginkan tampilan excell menjadi fullscreen tanpa toolbar yang mengganggu, sehingga tampak seperti bukan aplikasi excell
Private Sub Workbook_Open()
Application.ExecuteExcel4Macro "show.toolbar(""ribbon"",false)"
End Sub
3. Kode makro mengunci tampilan Zoom Layar
Kode ini biasanya saya gunakan ketika saya menginginkan aplikasi saya terkunci pada zoom 100%. Namun masih bisa di zoom in atau zoom out, hanya saja kelebihannya ketika aplikasi dibuka kembali, maka tampilan akan kembali seperti settingan awal(100%). Trik ini dapat digunakan jika anda menginginkan semua tampilan sheet sama (100%) ketika dibuka.
Private Sub Workbook_Open()
Dim w As Long, ow As Long
On Error GoTo Safe_Exit
Application.ScreenUpdating = False
ow = ActiveSheet.Index
For w = 1 To Worksheets.Count
Worksheets(w).Activate
ActiveWindow.Zoom = 100 'silakan ganti dengan zoom yang diinginkan
Next w
Worksheets(ow).Activate
Safe_Exit:
Application.ScreenUpdating = True
End Sub
4. Kode makro menyembunyikan/menghilangkan title bar dan close bar pada notifikasi
Kode ini saya gunakan apabila saya menginginkan userform tidak memunculkan title bar dan close bar (hilang). Sehingga pengguna fokus terhadap tombol / command button yang saya buat.
Langkah 1: Buat Module
Option Explicit
#If VBA7 Then
Public Declare PtrSafe Function FindWindow Lib "user32" _
Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Public Declare PtrSafe Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" _
(ByVal hWnd As Long, _
ByVal nIndex As Long) As Long
Public Declare PtrSafe Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" _
(ByVal hWnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Public Declare PtrSafe Function DrawMenuBar Lib "user32" _
(ByVal hWnd As Long) As Long
#Else
Public Declare Function FindWindow Lib "user32" _
Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Public Declare Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" _
(ByVal hwnd As Long, _
ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" _
(ByVal hwnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Public Declare Function DrawMenuBar Lib "user32" _
(ByVal hwnd As Long) As Long
#End If
Sub HideBar(frm As Object)
Dim Style As Long, Menu As Long, hWndForm As Long
hWndForm = FindWindow("ThunderDFrame", frm.Caption)
Style = GetWindowLong(hWndForm, &HFFF0)
Style = Style And Not &HC00000
SetWindowLong hWndForm, &HFFF0, Style
DrawMenuBar hWndForm
End Sub
Langkah 2 pada Userform di menu kiri klik kanan lalu pilih "View Code"
Private Sub UserForm_Initialize()
HideBar Me
End Sub
5. Kode macro insert gambardengan tombol
Sub insertPicture()
Dim FD As FileDialog
Set FD = Application.FileDialog(msoFileDialogFilePicker)
With FD
.Title = "Pilih foto"
.InitialView = msoFileDialogViewLargeIcons
.InitialFileName = strFolder
.Filters.Clear
.Filters.Add "images", "*.jpg;*.jpeg;*.png"
.FilterIndex = 2
.AllowMultiSelect = False
If .Show = -1 Then
ActiveSheet.Shapes("Rectangle 21").Fill.UserPicture .SelectedItems(1)
Else
MsgBox "Pilih hanya satu gambar"
Exit Sub
End If
For Each Shape In ActiveSheet.Shapes
Shape.Line.Visible = False
Next Shape
End With
End Sub
Demikian ilmu yang bisa saya bagikan semoga bermanfaat. Terima kasih telah mengunjungi blog agung jaka nugraha, dan Wassalam!!