Tampilkan postingan dengan label TIPS EXCEL VB. Tampilkan semua postingan
Tampilkan postingan dengan label TIPS EXCEL VB. Tampilkan semua postingan

Jumat, 27 September 2013

Contoh Aplikasi Pengisian SPT Tahunan 1770SS Excel VB


Setelah kita mempelajari pembuatan form sederhana menggunakan excel, selanjutnya kita akan membuat applikasi pengisian Form 1770 SS….biasa biar gak jenuh input datanya….hehehe…
Mari kita mulai dengan langkah-langkah sebagai berikut :
  1. Buka file excel 2007
  2. Double Klik di nama worksheet lalu ganti nama yg asalnya Sheet1 menjadi “1770SS” dan Sheet2 menjadi “1770SSdata” (ini mah klo saya, klo anda terserah tapi perlu diingat namanya untuk pembuatan code)
Seperti tampak pada gambar dibawah ini :


Biar gampang mah download aja disini
Kemudian kita simpan file sebagai excel makro….klik file save as pilih Excel Macro Enabled Workbook….ketik nama file disini saya beri nama file “1770SS”
Langkah selanjutnya adalah design form dengan Control yang akan kita gunakan adalah : Control Label, Textbox, Command Button dan frame adapun langkah-langkahnya seperti sudah saya bahas pada pembahasan sebelumnya  (MEMBUAT FORM ISIAN DATA SEDERHANA DI EXCEL)

Langkah selanjutnya adalah memberi nama dan caption untuk tiap label, textbox dan command button
  1. Frame 1 Name “IDENTITAS Caption “IDENTITAS”
  2. Label Caption : “NPWP, NAMA WAJIB PAJAK, PEKERJAAN, KLU, NO TELEPON, NO FAXIMILE, LAPORAN PERUBAHAN DATA, TERSENDIRI, TIDAK ADA, JUMLAH KESELURUHAN HARTA YANG DIMILIKI PADA AKHIR TAHUN,Rp., JUMLAH KESELURUHAN KEWAJIBAN/UTANG PADA AKHIR TAHUN dan TANGGAL”
  3. Textbox name : NPWP1 sampai dengan NPWP15 (untuk pengisian No NPWP)
  4. Textbox name : NAMA1 sampai dengan NAMA32 (untuk pengisian Nama)
  5. Textbox name : PEK1 sampai dengan PEK23 (untuk pengisian Pekerjaan)
  6. Textbox name : KLU1 sampai dengan KLU6 (untuk pengisian KLU biasanya dikosongkan)
  7. Textbox name : TLP1 sampai dengan TLP12 (untuk pengisian No Telepon)
  8. Textbox name : FAX1 sampai dengan FAX12 (untuk pengisian No Fax)
  9. Textbox name : PD1 (untuk pengisian Perubahan Data)
  10. Textbox name : PD2 (untuk pengisian Lampiran Tersendiri)
  11. Textbox name : HARTA (untuk pengisian HARTA YANG DIMILIKI PADA AKHIR TAHUN)
  12. Textbox name : UTANG (untuk pengisian UTANG YANG PADA AKHIR TAHUN)
  13. Textbox name : TGL1 sampai dengan TGL8 (untuk pengisian tanggal bulan dan tahun)
  14. CommandButton1 name dan Caption : TAMBAH
  15. CommandButton2 name dan Caption : TUTUP
Code yang dipakai di module 1
Sub F1770SS()
Form1770SS.Show
End Sub
Code yang dipakai CommandButton TUTUP
Private Sub CMTUTUP_Click()
Unload Me
End Sub
Code yang dipakai CommandButton TAMBAH
Private Sub TAMBAH_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets(“1770SSdata”)
‘menemukan baris kosong pada database
iRow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Offset(1, 0).Row
iNomor = ws.Cells(iRow – 1, 1).Value
iNomor = iNomor + 1
‘check untuk sebuah kode
If Trim(Me.NPWP1.Value) = “” Then
Me.NPWP1.SetFocus
MsgBox “Iiiiccchhh…..Data masih kosong tuuuhhhh….!!!!!”
Exit Sub
End If
‘copy data ke database
‘ NPWP
ws.Cells(iRow, 1).Value = iNomor
ws.Cells(iRow, 2).Value = Me.NPWP1.Value
ws.Cells(iRow, 3).Value = Me.NPWP2.Value
ws.Cells(iRow, 4).Value = Me.NPWP3.Value
ws.Cells(iRow, 5).Value = Me.NPWP4.Value
ws.Cells(iRow, 6).Value = Me.NPWP5.Value
ws.Cells(iRow, 7).Value = Me.NPWP6.Value
ws.Cells(iRow, 8).Value = Me.NPWP7.Value
ws.Cells(iRow, 9).Value = Me.NPWP8.Value
ws.Cells(iRow, 10).Value = Me.NPWP9.Value
ws.Cells(iRow, 11).Value = Me.NPWP10.Value
ws.Cells(iRow, 12).Value = Me.NPWP11.Value
ws.Cells(iRow, 13).Value = Me.NPWP12.Value
ws.Cells(iRow, 14).Value = Me.NPWP13.Value
ws.Cells(iRow, 15).Value = Me.NPWP14.Value
ws.Cells(iRow, 16).Value = Me.NPWP15.Value
‘NAMA
ws.Cells(iRow, 17).Value = Me.NAMA1.Value
ws.Cells(iRow, 18).Value = Me.NAMA2.Value
ws.Cells(iRow, 19).Value = Me.NAMA3.Value
ws.Cells(iRow, 20).Value = Me.NAMA4.Value
ws.Cells(iRow, 21).Value = Me.NAMA5.Value
ws.Cells(iRow, 22).Value = Me.NAMA6.Value
ws.Cells(iRow, 23).Value = Me.NAMA7.Value
ws.Cells(iRow, 24).Value = Me.NAMA8.Value
ws.Cells(iRow, 25).Value = Me.NAMA9.Value
ws.Cells(iRow, 26).Value = Me.NAMA10.Value
ws.Cells(iRow, 27).Value = Me.NAMA11.Value
ws.Cells(iRow, 28).Value = Me.NAMA12.Value
ws.Cells(iRow, 29).Value = Me.NAMA13.Value
ws.Cells(iRow, 30).Value = Me.NAMA14.Value
ws.Cells(iRow, 31).Value = Me.NAMA15.Value
ws.Cells(iRow, 32).Value = Me.NAMA16.Value
ws.Cells(iRow, 33).Value = Me.NAMA17.Value
ws.Cells(iRow, 34).Value = Me.NAMA18.Value
ws.Cells(iRow, 35).Value = Me.NAMA19.Value
ws.Cells(iRow, 36).Value = Me.NAMA20.Value
ws.Cells(iRow, 37).Value = Me.NAMA21.Value
ws.Cells(iRow, 38).Value = Me.NAMA22.Value
ws.Cells(iRow, 39).Value = Me.NAMA23.Value
ws.Cells(iRow, 40).Value = Me.NAMA24.Value
ws.Cells(iRow, 41).Value = Me.NAMA25.Value
ws.Cells(iRow, 42).Value = Me.NAMA26.Value
ws.Cells(iRow, 43).Value = Me.NAMA27.Value
ws.Cells(iRow, 44).Value = Me.NAMA28.Value
ws.Cells(iRow, 45).Value = Me.NAMA29.Value
ws.Cells(iRow, 46).Value = Me.NAMA30.Value
ws.Cells(iRow, 47).Value = Me.NAMA31.Value
ws.Cells(iRow, 48).Value = Me.NAMA32.Value
‘PEKERJAAN
ws.Cells(iRow, 49).Value = Me.PEK1.Value
ws.Cells(iRow, 50).Value = Me.PEK2.Value
ws.Cells(iRow, 51).Value = Me.PEK3.Value
ws.Cells(iRow, 52).Value = Me.PEK4.Value
ws.Cells(iRow, 53).Value = Me.PEK5.Value
ws.Cells(iRow, 54).Value = Me.PEK6.Value
ws.Cells(iRow, 55).Value = Me.PEK7.Value
ws.Cells(iRow, 56).Value = Me.PEK8.Value
ws.Cells(iRow, 57).Value = Me.PEK9.Value
ws.Cells(iRow, 58).Value = Me.PEK10.Value
ws.Cells(iRow, 59).Value = Me.PEK11.Value
ws.Cells(iRow, 60).Value = Me.PEK12.Value
ws.Cells(iRow, 61).Value = Me.PEK13.Value
ws.Cells(iRow, 62).Value = Me.PEK14.Value
ws.Cells(iRow, 63).Value = Me.PEK15.Value
ws.Cells(iRow, 64).Value = Me.PEK16.Value
ws.Cells(iRow, 65).Value = Me.PEK17.Value
ws.Cells(iRow, 66).Value = Me.PEK18.Value
ws.Cells(iRow, 67).Value = Me.PEK19.Value
ws.Cells(iRow, 68).Value = Me.PEK20.Value
ws.Cells(iRow, 69).Value = Me.PEK21.Value
ws.Cells(iRow, 70).Value = Me.PEK22.Value
ws.Cells(iRow, 71).Value = Me.PEK23.Value
‘KLU
ws.Cells(iRow, 72).Value = Me.KLU1.Value
ws.Cells(iRow, 73).Value = Me.KLU2.Value
ws.Cells(iRow, 74).Value = Me.KLU3.Value
ws.Cells(iRow, 75).Value = Me.KLU4.Value
ws.Cells(iRow, 76).Value = Me.KLU5.Value
ws.Cells(iRow, 77).Value = Me.KLU6.Value
‘TLP
ws.Cells(iRow, 78).Value = Me.TLP1.Value
ws.Cells(iRow, 79).Value = Me.TLP2.Value
ws.Cells(iRow, 80).Value = Me.TLP3.Value
ws.Cells(iRow, 81).Value = Me.TLP4.Value
ws.Cells(iRow, 82).Value = Me.TLP5.Value
ws.Cells(iRow, 83).Value = Me.TLP6.Value
ws.Cells(iRow, 84).Value = Me.TLP7.Value
ws.Cells(iRow, 85).Value = Me.TLP8.Value
ws.Cells(iRow, 86).Value = Me.TLP9.Value
ws.Cells(iRow, 87).Value = Me.TLP10.Value
ws.Cells(iRow, 88).Value = Me.TLP11.Value
ws.Cells(iRow, 89).Value = Me.TLP12.Value
‘FAX
ws.Cells(iRow, 90).Value = Me.FAX1.Value
ws.Cells(iRow, 91).Value = Me.FAX2.Value
ws.Cells(iRow, 92).Value = Me.FAX3.Value
ws.Cells(iRow, 93).Value = Me.FAX4.Value
ws.Cells(iRow, 94).Value = Me.FAX5.Value
ws.Cells(iRow, 95).Value = Me.FAX6.Value
ws.Cells(iRow, 96).Value = Me.FAX7.Value
ws.Cells(iRow, 97).Value = Me.FAX8.Value
ws.Cells(iRow, 98).Value = Me.FAX9.Value
ws.Cells(iRow, 99).Value = Me.FAX10.Value
ws.Cells(iRow, 100).Value = Me.FAX11.Value
ws.Cells(iRow, 101).Value = Me.FAX12.Value
‘PD
ws.Cells(iRow, 102).Value = Me.PD1.Value
ws.Cells(iRow, 103).Value = Me.PD2.Value
‘HARTA
ws.Cells(iRow, 104).Value = Me.HARTA.Value
‘UTANG
ws.Cells(iRow, 105).Value = Me.UTANG.Value
‘TGL
ws.Cells(iRow, 106).Value = Me.TGL1.Value
ws.Cells(iRow, 107).Value = Me.TGL2.Value
ws.Cells(iRow, 108).Value = Me.TGL3.Value
ws.Cells(iRow, 109).Value = Me.TGL4.Value
ws.Cells(iRow, 110).Value = Me.TGL5.Value
ws.Cells(iRow, 111).Value = Me.TGL6.Value
ws.Cells(iRow, 112).Value = Me.TGL7.Value
ws.Cells(iRow, 113).Value = Me.TGL8.Value
‘clear data
Me.NPWP1.Value = “”
Me.NPWP2.Value = “”
Me.NPWP3.Value = “”
Me.NPWP4.Value = “”
Me.NPWP5.Value = “”
Me.NPWP6.Value = “”
Me.NPWP7.Value = “”
Me.NPWP8.Value = “”
Me.NPWP9.Value = “”
Me.NPWP10.Value = “”
Me.NPWP11.Value = “”
Me.NPWP12.Value = “”
Me.NPWP13.Value = “”
Me.NPWP14.Value = “”
Me.NPWP15.Value = “”
‘NAMA
Me.NAMA1.Value = “”
Me.NAMA2.Value = “”
Me.NAMA3.Value = “”
Me.NAMA4.Value = “”
Me.NAMA5.Value = “”
Me.NAMA6.Value = “”
Me.NAMA7.Value = “”
Me.NAMA8.Value = “”
Me.NAMA9.Value = “”
Me.NAMA10.Value = “”
Me.NAMA11.Value = “”
Me.NAMA12.Value = “”
Me.NAMA13.Value = “”
Me.NAMA14.Value = “”
Me.NAMA15.Value = “”
Me.NAMA16.Value = “”
Me.NAMA17.Value = “”
Me.NAMA18.Value = “”
Me.NAMA19.Value = “”
Me.NAMA20.Value = “”
Me.NAMA21.Value = “”
Me.NAMA22.Value = “”
Me.NAMA23.Value = “”
Me.NAMA24.Value = “”
Me.NAMA25.Value = “”
Me.NAMA26.Value = “”
Me.NAMA27.Value = “”
Me.NAMA28.Value = “”
Me.NAMA29.Value = “”
Me.NAMA30.Value = “”
Me.NAMA31.Value = “”
Me.NAMA32.Value = “”
Me.PEK1.Value = “”
Me.PEK2.Value = “”
Me.PEK3.Value = “”
Me.PEK4.Value = “”
Me.PEK5.Value = “”
Me.PEK6.Value = “”
Me.PEK7.Value = “”
Me.PEK8.Value = “”
Me.PEK9.Value = “”
Me.PEK10.Value = “”
Me.PEK11.Value = “”
Me.PEK12.Value = “”
Me.PEK13.Value = “”
Me.PEK14.Value = “”
Me.PEK15.Value = “”
Me.PEK16.Value = “”
Me.PEK17.Value = “”
Me.PEK18.Value = “”
Me.PEK19.Value = “”
Me.PEK20.Value = “”
Me.PEK21.Value = “”
Me.PEK22.Value = “”
Me.PEK23.Value = “”
Me.KLU1.Value = “”
Me.KLU2.Value = “”
Me.KLU3.Value = “”
Me.KLU4.Value = “”
Me.KLU5.Value = “”
Me.KLU6.Value = “”
Me.TLP1.Value = “”
Me.TLP2.Value = “”
Me.TLP3.Value = “”
Me.TLP4.Value = “”
Me.TLP5.Value = “”
Me.TLP6.Value = “”
Me.TLP7.Value = “”
Me.TLP8.Value = “”
Me.TLP9.Value = “”
Me.TLP10.Value = “”
Me.TLP11.Value = “”
Me.TLP12.Value = “”
Me.FAX1.Value = “”
Me.FAX2.Value = “”
Me.FAX3.Value = “”
Me.FAX4.Value = “”
Me.FAX5.Value = “”
Me.FAX6.Value = “”
Me.FAX7.Value = “”
Me.FAX8.Value = “”
Me.FAX9.Value = “”
Me.FAX10.Value = “”
Me.FAX11.Value = “”
Me.FAX12.Value = “”
Me.PD1.Value = “”
Me.PD2.Value = “”
Me.HARTA.Value = “”
Me.UTANG.Value = “”
Me.TGL1.Value = “”
Me.TGL2.Value = “”
Me.TGL3.Value = “”
Me.TGL4.Value = “”
Me.TGL5.Value = “”
Me.TGL6.Value = “”
Me.TGL7.Value = “”
Me.TGL8.Value = “”
Me.NPWP1.SetFocus
End Sub
Untuk menghindari menutup melalui tanda X pada form masukan kode dibawah ini dengan klik kanan mouse pada form dan pilih view code dan ketikan kode dibawah ini :
Private Sub UserForm_QueryClose(Cancel As Integer, _
CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
Cancel = True
MsgBox “MAKE TOMBOL ATUH KANG!”
End If
End Sub

Mengenal IF dan Select Case Makro

If dan Select Case

If dan Select Case adalah sebuah pernyataan bersyarat. If dan Select Case adalah merupakan suatu perintah untuk mengambil suatu keputusan terhadap sebuah atau beberapa kondisi. Kondisi adalah ungkapan untuk mengevaluasi sebuah pernyataan apakah bernilai benar atau salah. Sekarang mari kita bahas satu persatu, dengan pengelompokan pemakaian sebagai berikut"
  • If...Then...Else
  • If...Then...ElseIf
  • Select case

1. If...Then...Else
Dalam bahasa Indonesianya adalah Jika...Maka....Selain Itu
Pola:
If [kondisi1] Then
[statement1]
Else
[statement2]
End if
Analogi:
Jika [Nilai=A] Maka
[Anda Lulus]
Selain Itu===>Maksudnya selain "A"
[Anda Tidak Lulus]
Contoh Macro nya:
Sub Test1()
If Range ("A1").Value = "A" Then
MsgBox "Anda Lulus"
Else
MsgBox "Anda Tidak Lulus"
End If
End Sub
Untuk melihat hasilnya sekarang anda ketik "A" dan "B" di sel A1, lalu jalankan Macro Test1. Apa hasilnya?? Jika anda berhasil maka hasilnya akan seperti gambar berikut ini:

2. If...Then...ElseIf
Dalam bahasa Indonesianya adalah Jika...Maka....Selain Itu Jika...Maka...Selain Itu..., bingung ya. Lebih jelasnya lihat penjelasan berikut

Pola:
If [kondisi1] Then
[statement1]
ElseIf
[statement2]
Else
[statement3]
End if
Analogi:
Jika [Nilai=A] Maka
[Anda Lulus Istimewa]
Selain Itu Jika
[Nilai = B] Maka
[Anda Lulus]
Selain Itu ==>Maksudnya jika bukan "A" atau "B"
[Anda Tidak Lulus]
Contoh Macronya:
Sub Test2()
If Range ("A1").Value = "A" Then
MsgBox "Anda Lulus Istimewa"
Else
If Range ("A1").Value = "B" Then
MsgBox "Anda Lulus"
Else
MsgBox "Anda Tidak Lulus"
End If
End If
End Sub
Sekarang coba ketik "A","B" dan "C" di sel A1, lalu jalankan macro Test2 ,maka hasilnya untuk "A" akan muncul pesan "Anda Lulus Istimewa", "B" muncul pesan "Anda Lulus", sedangkan "C" akan muncul pesan "Anda Tidak Lulus"
3. Select Case
Perintah Select Case gunanya adalah untuk mempersingkat perintah supaya lebih efisien. Perintah ini mengefisienkan pemakaian ElseIf yang berulang-ulang.Untuk lebih jelasnya, ikuti pembahasan berikut

Pola:
Select Case [ungkapan utama]
Case Is [ungkapan1]
[statement1]
Case Is [ungkapan2]
[statement2]
Case Is [ungkapan3]
[statement3]
Case Is [ungkapan ke...n]
[statement ke...n]
Case Else
[statement x]
End Select
Analogi:
Kejadian terhadap Nilai
Kejadian Nilai A
[Anda Lulus Istimewa]
Kejadian Nilai B
[Anda Lulus Biasa]
Kejadian Nilai C
[Anda Lulus Pas-Pasan]
Kejadian Selain Itu===>Maksudnya selain "A,B,C"
[Anda Tidak Lulus]
Contoh Macro nya:
Sub Test3()
Select Case Range("A1").Value
Case Is = "A"
MsgBox " Anda Lulus Istimewa"
Case Is = "B"
MsgBox "Anda Lulus Biasa"
Case Is = "C"
MsgBox "Anda Lulus Pas-Pasan"
Case Else
MsgBox "Anda Tidak Lulus"
End Select
End Sub
Ketik "A,B,C,D" di sel A1, maka hasilnya akan muncul pesan sesuai dengan yang dikondisikan

Mengenal Makro For...Next

For...Next

Untuk melaksanakan kode secara berulang, maka kita menggunakan suatu struktur pengulangan.Perintah For...Next dipakai untuk pengulangan yang berulang-kali. Perintah For...Next menggunakan variabel counter yang berfungsi untuk menaikkan atau menurunkan sebuah nilai selama perintah berjalan.

Pola:
For Counter = [nilai awal] To [nilai akhir]
[statement]
Next[counter]

Contoh aplikasinya:
Sub Test1()
For i = 1 To 10
Cells( i , 1) = i
Next i
End Sub
Sekarang coba jalankan Macro Test1, hasilnya akan seperti gambar berikut:

i adalalah variabel counter dari 1 sampai 10. Perintah Cells(i , 1) akan mengirim nilai ke kolom pertama (kolom A) dan baris i (dalam hal ini baris 1 sampai 10). Jika Cells(i , 1) diganti dengan Cells(i , 2) maka perintah akan mengirim nilai ke kolom kedua (Kolom B) dan baris 1 sampai 10 dengan nilai yang meningkat. Apakah perintah ini hanya terbatas tiap 1 baris saja?? Ternyata tidak. Perintah For...Next bisa kita gunakan dengan mengatur berapa step pengulangannya. Bagimana caranya??Pertama kita lihat dulu polanya:

Pola:
For Counter = [nilai awal] To [nilai akhir] Step [jumlah step]
[statement]
Next[counter]
Contoh aplikasinya:
Sub Test2()
For i = 1 To 10 Step 2
Cells (i , 1) = i
Next i
End Sub

Perintah For i = 1 To 10 step 2 akan mengirim nilai dengan lompatan 2 yang dimulai dari 1.Maka hasilnya adalah 1,3,5,7,9. Contoh lain dengan menggunakan Step ini adalah sbb:

Contoh aplikasinya:
Sub Test3()
For i = 10 To 1 Step -2
Cells (i , 1) = i
Next i
End Sub
Maka hasilnya akan muncul 2,4,6,8,10
Silahkan berlatih lebih banyak lagi untuk lebih memahami ulasan kali ini. Anda tinggal mencoba mengganti-ganti angka pada contoh kode diatas.
Kurang jelas atau ada pendapat lain?. Anda dapat berkomentar (Gratis koq)

Rumus Menggambungkan Kata Dari Beberapa Kolom Macro

Menambahkan Sebuah Macro


Sebagian besar Macro dirancang dan dikembangkan pada Jendela Kode.Untuk latihan kali ini kita akan membuat suatu prosedur Macro sederhana untuk lebih memperdalam dasar-dasar pengenalan Macro anda
- Buka sheet Excel
- Tekan [Alt-F11] untuk masuk ke Visual Basic Editor
- Klik ganda Sheeet1(Sheet) pada Jendela Project
- Pada jendela kode ketik Sub Test() kemudian Enter
- Maka otomatis kita akan mendapatkan 2 line kode sbb

Sub Test()

End Sub


Note:
- Huruf "S" pada Sub Test otomatis akan muncul huruf besar "S" walaupun anda mengetikkan dengan huruf "s" kecil.Demikian juga untuk kode-kode yang dikenal VBE yang lainnya.Huruf kecil secara otomatis akan berubah menjadi huruf besar.Jadi anda tidak usah repot-repot untuk mengganti huruf awal dengan huruf besar

Sekarang mari kita lanjutkan lagi:
- Tambahkan kode diantara 2 line kode tadi sehingga menjadi seperti ini
Sub Test()
Sheets("Sheet1").Select
Range("C1").Select

Do Until Selection.Offset(0, -2).Value = ""
Selection.Value = Selection.Offset(0, -2).Value & " " & Selection.Offset(0, -1)
Selection.Offset(1, 0).Select
Loop

Range("A1").Select
End Sub

- Untuk lebih mudahnya, Copy paste saja kode diatas ke Jendela kode anda
Keterangan kode:
Kode diatas artinya adalah menggabungkan kata yang terdapat pada kolom A dan kata yang terdapat pada kolom B dan hasil penggabungannya berada di kolom C.Prosedur akan berjalan terus selama ada kata di sel kolom A. Prosedur akan berhenti sampai data terakhir di kolom A

- Tekan [Alt -F11] untuk kembali ke Excel
- Sekarang ketik 5 buah nama di kolom A (Sel A1:A5) dan 5 buah nama di kolom B (Sel B1:B5)
Lihat gambar

- Tekan [Alt-F11] untuk kembali ke Visual Basic Editor
- Jalankan Macro ini dengan cara klik [Run] - [Run/Sub UserForm F5]
- Tekan [Alt -F11] untuk kembali ke Excel dan lihat apa yang terjadi (Lihat Gambar)

- Hasilnya nama di kolom A dan B bergabung di kolom C dengan spasi tentunya.Spasi ini ada sebagai akibat dari kode
Selection.Value = Selection.Offset(0, -2).Value & " " & Selection.Offset(0, -1)
- Sekarang coba ganti kode nya dengan ini:
Selection.Value = Selection.Offset(0, -2).Value & Selection.Offset(0, -1)
Maka hasilnya akan menjadi seperti ini: Penggabungan tanpa spasi


- Kembalikan lagi ke kode awal
- Hapus semua hasil penggabungan (Kolom C) kemudian nama Duma di kolom A (Lihat gambar)


- Kembali ke VBE [Alt - F11] lalu jalankan Macro nya
- Maka hasilnya menjadi seperti ini


Sesuai dengan yang saya tulis diatas tadi, Prosedur akan berhenti sampai data terakhir di kolom A , artinya data tidak boleh LONGKAP

Cukup jelas?

MEMBUAT FUNGSI FIND / MENCARI DATA DI FORM EXCEL

Macro Pencari Data

Kode Macro berikut ini adalah kode Macro untuk mencari data dalam sebuah sheet (lembar kerja). Di Excel biasanya kita menggunakan perintah Ctrl F7, lalu mengetik data yang hendak kita cari. Perintah pengganti Ctrl F7 ini juga dapat dijalankan dengan menggunakan perintah Macro. Ada sedikit perbedaan hasil pencarian jika anda menggunakan kode ini dengan menggunakan perintah Ctrl F7. Bagaimana caranya dan apa bedanya???Ikuti mantra berikut ini:

  • Pertama, buka sebuah sheet lembar kerja, lalu ketik beberapa nama di sel A1 sampai A10 seperti gambar berikut:
  • Klik Tool==>Macro==>Visual Basic Editor
  • Pada jendela program ketik kode berikut
Sub Cari_Data()
Dim FindString As String
Dim Rng As Range
FindString = InputBox("Masukkan Data Yang Akan Dicari")
If Trim(FindString) <> "" Then
With Sheets("Sheet1").Range("A:A") <===Range bisa diganti menjadi ("A:C") dsb
Set Rng = .Find(What:=FindString, _
After:=.Cells(1), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False)
If Not Rng Is Nothing Then
Application.Goto Rng, True
Else
MsgBox "Data Tidak Ada"
End If
End With
End If
End Sub

Lalu jalankan Macro seperti biasa, Pilih Tool==>Macro==>Pilih Macro Cari_Data
Maka akan muncul sebuah kotak Input Box seperti gambar berikut:

Atau jalankan melalui klik tombol CommandButton, adapun caranya sudah sudah diposting pada Cara Lain Menjalankan Macro-1. Lalu ketik sebuah nama yang hendak anda cari, misalnya ketik Rooney
Maka hasilnya akan menjadi seperti ini:
Data yang dicari --Rooney--muncul di posisi paling atas dari sheet kerja. Jika ingin kembali anda tinggal scroll ke atas
Bedanya dengan menggunakan perintah Ctrl F7 adalah:

Sudah jelaskan bedanya?

Membuat Form Untuk Pengisian Tabel Data

Dalam Membuat Form tidak melulu didominasi oleh Ms. Acces dan hal tersebut bisa juga dilakukan di Ms.Excel dengan cara yang cukup mudah.
Form ini cukup membantu dalam memperlancar pekerjaan terutama dalam hal pengisian tabel yang begitu banyak atau cara lain dalam hal mengisi tabel yang kita buat sebelumnya.
Ok sekarang kita langsung cara Membuat form tersebut.
Hal pertama yang harus dilakukan adalah dengan mengatifkan  salah satu COMMAND bawaan Excel yaitu FORMS, dengan cara sebagai berikut :
  • Klik lambang  Microsoft dipojok kiri atas kemudian pilih Excel Options.
  • Kemudian pilih Customize dan akan muncul berbagai pilihan Commands dan cari Command Form.
  • Setelah itu tekan  OK
Command Form tersebut akan muncul di sebelah kanan lambang Microsoft tersebut dan lambang Form tersebut adalah seperti ini :
Langkah selanjutnya yaitu kita membuat table, perhatikan contoh dibawah ini :

Setelah itu arahkan cursor di Cell A1 atau tepatnya di judul kolom NO, kemudian klik lambang form yang sudah kita add sebelumnya maka akan muncul sebuah form dengan tulisan seperti ini :
Microsoft Office Excel cannot determine which………
Kemudian tekan OK dan hasilnya akan muncul FORM seperti gambar dibawah ini :

Berarti kita sukses Membuat FORM tersebut dan tinggal mengisi datanya.
Sebagai latihan coba isikan data seperti ini di FORM yang sudah muncul tadi:
No                          1
Nama                    Iyan
NIS                         1234
Kelas                     A1
Jenis Kelamin    L
Jika sudah coba sekarang keluar dari FORM tersebut, maka ditable akan berisi data seperti ini :

Mudah bukan, dan setiap akan mengisi Tabel data tersebut selalu mengarahkan Cursor  tepat di Cell A1 (No).
Selamat Mencoba.
Salam.

Rabu, 25 September 2013

TOMBOL PRINT DI FORM EXCEL VBA

Mencetak Dokumen Dengan Jumlah Tertentu Menggunakan VBA

Mencetak Dokumen Dengan Jumlah Tertentu Menggunakan VBA
Terkadang kita menginginkan agar data dalam dokumen Excel dicetak dengan jumlah tertentu sesuai dengan nilai yang kita masukkan, yang pada umunya hal ini dapat kita lakukan ketika akan mau mencetak sebuah dokumen (Ctrl+P)
yang biasanya menampilkan jendela seperti berikut :

Print Properties
Perintah mencetak seperti yang terlihat pada gambar di atas akan menghasilkan cetakan sebanyak 3 kali sesuai dengan nilai yang dimasukkan di 'number of copies'

Di dalam Macro VBA Excel sendiri tentu telah disediakan perintah atau kode untuk mencetak seperti di atas dan Kode standardnya adalah PrintOut, Contoh :
Sheets(1).PrintOut
Kode tersebut hanya akan melakukan perintah mencetak sebanyak 1 kali data dokumen Excel yang terdapat di dalam Sheet 1 - sehingga jika kita ingin mencetak dokumen sebanyak 3 kali, maka kita harus menekan tombol yang berisi kode tersebut sebanyak 3 kali pula, Hal ini tentunya akan sangat kurang efektif sekali.

Solusi yang tepat adalah dengan membuat UserForm yang berisi kotak nilai yang difungsikan sebagai nilai untuk jumlah cetakan yang kita inginkan dan tombol untuk mencetak, yang kurang lebih tampilannya seperti berikut :
Print dengan Macro VBA

Setelah Anda sudah membuat UserForm yang kurang lebih tampilannya seperti di atas, langkah selanjutnya adalah klik 2x CommandButton (Tombol Cetak) untuk menampilkan jendela kode - dan kemudian tempelkan kode berikut di dalamnya

Private Sub CommandButton1_Click()
On Error GoTo pesan
Dim isi
isi = TextBox1 * 1
Sheets(1).PrintOut copies:=isi
Exit Sub

pesan:
MsgBox "Anda belum mengisi jumlah cetakan, atau nilai yang Anda masukkan bukan merupakan angka", vbCritical + vbOKOnly
End Sub
Fungsi dari kode di atas adalah melakukan perintah mencetak sebanyak jumlah cetakan yang terdapat di TextBox1, dan jika nilai yang terdapat di TextBox1 bukan merupakan angka atau bernilai kosong maka akan menampilkan pesan error.

MEMBUAT FORM LOGIN VBA EXCEL

Membuat Form Login Sederhana

Dalam setiap aplikasi seringkali kita menjumpai sebuah form atau jendela yang mengharuskan pengguna untuk memasukkan sebuah kata kunci atau password agar dapat menikmati layanan dari aplikasi tersebut, sehingga hal ini memungkinkan sebuah aplikasi hanya bisa dijalankan oleh pengguna yang tahu password-nya saja.

Membuat Form Login seperti penjelasan di atas dapat dilakukan dengan mudah dan sederhana, dan berikut ini saya com akan menyuguhkan langkah-langkah untuk membuatnya.

Form login yang akan buat akan tampak seperti ilustrasi berikut
form Login Excel

Pastikan Anda sudah mengaktifkan jendela Microsoft Visual Basic sebelum merancang dan memasukkan kode-kode untuk Form Login ini.

Menyiapkan Desain Form Login
  1. Membuat UserForm
    Klik menu Insert dan pilih UserForm
  2. Dalam rancangan Untuk UserForm buatlah beberapa bagian seperti dalam gambar berikut:
    rancangan userform login
  3. Menambahkan dan mengatur Gambar
    Pilih Image dan atur nilai atau parameter yang terdapat di jendela properties seperti berikut : - BorderStyle = 0 - fmBorderStyleNone (membuat gambar tanpa bingkai)
    - Picture ... = Ambil gambar yang ingin dijadikan sebagai aksesoris.
  4. Membuat Judul dan sub judul Pilih Label1 kemudian di jendela properties, ketikkan data di kotak Caption sesuai dengan yang anda inginkan.
    ulangi untuk membuat Sub judul
  5. Kotak password
    Pilih kotak password (TextBox1) kemudian cari sebuah kata PasswordChar yang terdapat di jendela properties. Isi dengan sebuah karakter yang anda ingin munculkan ketika sebuah password diketik, contoh anda bisa memasukkan karakter (*, #, atau lainnya). kosongi nilai PasswordChar jika anda ingin menampilkan ketikan sesuai dengan aslinya di kotak password.
  6. Tombol Masuk dan Keluar
    dua tombol ini dibuat dengan menggunakan CommandButton dan masing-masing bernama (Name) CommandButton1 dan CommandButton2, jika ingin mengganti masing-masing teks untuk tombol ini, lakukan dengan cara klik tombol kemudian di jendela properties, rubah Caption sesuai dengan yang anda inginkan.
Sampai langkah ini desain form login selesai dilakukan, selanjutnya adalah memasukkan kode agar form ini bisa berjalan sebagaimana mestinya.

Kode Form Login Sederhana
Untuk memasukkan kode berikut, klik kanan UserForm1 yang terdapat di jendela Project-VBA Project dan kemudian pilih View Code
atau
pilih UserForm1 yang terdapat di jendela Project-VBA Project, kemudian tekan F7 di keyboard anda.
Private Sub CommandButton1_Click() If TextBox1 = "admin" Then
   Unload UserForm1
   Else
   MsgBox "Maaf, password yang anda masukkan tidak valid"
End If
End Sub

Private Sub CommandButton2_Click()
Application.ActiveWorkbook.Close savechanges = True
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode <> 1 Then Cancel = True
End Sub

Keterangan kode
CommandButton1
Kode yang digunakan untuk tombol masuk atau login
dimana kata kuncinya adalah "admin" (tanpa tanda petik), sehingga jika pengguna mengetikkan kata kunci atau password dengan benar maka akan menjalankan kode atau perintah Unload UserForm1, yang artinya akan menutup Jendela Form Login ini. Dan jika salah, maka akan menampilkan kode MsgBox yang berupa kotak pesan dengan informasi di dalamnya.

CommandButton2
kode yang digunakan untuk keluar atau menutup file dengan perintah tidak menyimpan perubahan isi file.

Private Sub USerForm_QueryClose...
Kode ini berisi sebuah perintah untuk mengantisipasi pengguna menutup jendela Form dengan cara klik tombol (X) yang terdapat di pojok kanan atas, dengan kata lain tombol Close UserForm di non aktifkan.

Sumber Informasi :
http://www.raflyandinusu.blogspot.com

MEMBUAT AUTO OPEN USERFORM VBA EXCEL

Pertanyaannya adalah, Bagaimana kode macro untuk auto open user form, yang pada saat mengklik file woorkbook/excel langsung muncul user form tanpa menampilkan workbooknya,

 Langsung aja yah,maskan code dibawah ini
script yang digunakan adalah prosedur-prosedur event dan sebuah
deklarasi variabel ber-scope private. (lihat di VBE)

1. ThisWorkbook (event workbook open)
Private Sub Workbook_Open()
    Application.Visible = False
    UserForm1.Show
End Sub

2. UserForm1 :
>> Deklarasi variabel state tombol yang menutup userform
Private lState As Long

>> Event Initialize (saat userform di-load)
Private Sub UserForm_Initialize()
    With Application
        .ScreenUpdating = False
        .DisplayFullScreen = True
        Me.Height = .Height
        Me.Width = .Width
        .ScreenUpdating = True
    End With
End Sub

>> Event Terminate (saat userform di-unload)
Private Sub UserForm_Terminate()
    With Application
        .ScreenUpdating = False
        .WindowState = xlNormal
        .WindowState = xlMaximized
        .ScreenUpdating = True
        ThisWorkbook.Save
        .Visible = True
        If lState = -1 Then
            ThisWorkbook.Close False
        End If
    End With
End Sub

>> Event Click tombol 'Ke Workbook' [cmdToWbk] (untuk menutup userform dan
menampilkan workbook)
Private Sub cmdToWbk_Click()
    lState = 0
    Unload Me
End Sub

>> Event Click tombol 'Tutup' [cmdQuit] (untuk menutup userform kemudian
save dan menutup workbook)
Private Sub cmdQuit_Click()
    lState = -1
    Unload Me
End Sub

Download Contoh File di link ini :
http://milis-belajar-excel.1048464.n5.nabble.com/attachment/5712570/0/vba_userform_on_open.xlsm

Status Facebook Keren Gokil 100%

KUMPULAN STATUS FB 100% gokil BANYAK LIKE Dalam kepala atau cara berpikir seorang wanita pasti ada kekurangan, akan tetapi di dalam hati...