kirimpertanyaan

 

Belajar dan konsultasi masalah Excel      

Macro & VBA, Hits: 9186, Comments: 10, Bookmarked: 0, Followers: 2

Halo Master,

Seneng bisa ketemu website ini, yang mau mengajarkan tentang excel dan macro. Saya harry dan kebetulan lagi ada kerjaan dari si boss.

Kasusnya gini mas, dalam file excel ada 2 sheet, form dan database, di bagian form ada isian Nama dan Alamat, dan sebuah tombol Save. Ketika tombol Save itu di klik, data yg diinput masuk kedalam sheet database di kolom A dan B, dan bisa disimpan permanen. Jadi ketika input data baru di sheet Form, data yang lama di sheet Database tetep ada.

Maap sebelumnya, saya sudah download yang di bagian project itu, tapi ketika file ditutup dan dibuka kembali, datanya yg udah diinput hilang semua.

Mohon bantuan master, untuk kasus saya ini.

Terima kasih sebelumnya.

Best Regards

Harry

Last Modified: Thursday, June 12, 2014


harrycrb
Wednesday, November 02, 2011
0% of 0 votes

Halo Mas Harry,

Sesuai pertanyaan, saya buat sebuah Workbook yang memiliki 2 sheet: Form dan Database.

Pada Form, saya buat tempat inputan Nama pada cell A2, dan inputan Alamat pada cell B2. Dan sebuah ActiveX Control Command Button.

simpan harry 001

Dan pada sheet Database, saya buat sebuah penyimpanan data dengan header seperti pada gambar:

simpan harry 002

Selanjutnya, pada Command Button, saya tulis baris program sebagai berikut:

Private Sub CommandButton1_Click()Application.ScreenUpdating = False'deklarasi variabel
Dim Nama, Alamat As String
'Ambil data nama dan alamat dari sheet Form
Nama = Me.Cells(2, 1).Value
Alamat = Me.Cells(2, 2).Value

With Worksheets("Database")
'Cari tau baris terakhir yang kosong pada sheet Database
BarisTerakhir = Worksheets("Database").Cells(.Rows.Count, 1).End(xlUp).Row

'Simpan data dari sheet Form ke sheet Database
'pada baris terakhir yang kosong

.Cells(BarisTerakhir + 1, 1).Value = Nama
.Cells(BarisTerakhir + 1, 2).Value = Alamat
End With

'hapus data inputan pada sheet Form
Me.Range(Cells(2, 1), Cells(2, 2)).ClearContents

'simpan file
ActiveWorkbook.Save

Application.ScreenUpdating = True
End Sub

Penjelasan fungsi masing-masing baris code ada pada remarknya ya..

Nah, jika kita isi pada inputan dan kemudian kita klik SIMPAN, maka data pada inputan akan dipindahkan ke Sheet Database.

simpan harry 003

Jika kisa masukkan data  kedua, maka akan disimpan pada baris berikutnya dan seterusnya.

Baris program juga langsung men-save file agar data tidak hilang.

Semoga membantu..

salam


ngarasan
02 Nov 2011
0

Pagi-pagi buka internet langsung ke klinikexcel.com dan tidak menyangka ada jawabannya. Terima kasih atas jawabannya mas. Lagi dicoba :)


harrycrb
03 Nov 2011
0

Mas Rachmad yang baik, saya udah bisa membuat contoh yang mas kasih, terus saya coba membuat percobaan, kok error ya. hehehe ...

Sheet Form

Nama :  ????

Alamat : ????

Pekerjaan : ????

Nomor Telpon : ?????

Diklik tombol save, data yang diharapkan muncul di sheet database seperti ini:

Nama    |  Alamat         |  Pekerjaan    | Nomor Telepon

Harry    |  Cirebon        | Swasta          | 081xxxxxxx

di macro saya buat seperti ini :

Dim Nama, Alamat, Pekerjaan As String 
Dim NoTelpon As Integer

'Ambil data
Nama = Me.Cells(2, 4).Value
Alamat = Me.Cells(3, 4).Value
Pekerjaan = Me.Cells(4, 4).Value
NoTelpon = Me.Cells(5, 4).Value

Ketika di Run, muncul error "Invalid Me Keyword"

Kenapa ya mas?

Makasih sebelumnya


harrycrb
03 Nov 2011
0

Halo Mas..

Pada code: Me.cells(1,2).value

Fungsi "Me" sebenarnya hanya untuk menyingkat referensi lokasi code itu berada.

Code pada contoh saya sebelumnya, mengunakan ActiveX Control CommandButton yang saya letakkan di Sheet: "Form". Sehingga, code-nya pun berada pada "Object" sheet "Form".

Alhasil, "Me"-nya adalah penyingkat dari code: Worksheets("Form").cells(1,2).value

Lain kasus kalo code-nya di tulis di module atau object yang lain misal Sheet lainnya, atau Workbook, maka "Me" akan bermakna beda.

Pertanyaan saya:

1. Mas Harry pakai ActiveX Control atau Form Control Button?

2. Dimana Mas Harry meletakkan code-nya?

semakin detail keterangannya, semakin memudahkan saya mencari titik masalahnya.

salam


ngarasan
03 Nov 2011
0

Oh beda ya mas, saya ternyata pake form control button bukan activeX control. Terus saya coba ganti dengan menggunakan ActiveX control button, double klik lalu saya masukan kode yang sama, di Me tidak terjadi error lagi, error muncul di

'hapus data inputan pada sheet Form 
Me.Range(Cells(2, 4), Cells(2, 4), Cells(3, 4), Cells(4, 4), Cells(7, 4)).ClearContents

muncul pesan "wrong number of argument or invalid property asignment"

knapa ya mas?

Makasih sebelumnya.


harrycrb
03 Nov 2011
0

Halo Mas,

Code ini salah syntax.

Me.Range(Cells(2, 4), Cells(2, 4), Cells(3, 4), Cells(4, 4), Cells(7, 4)).ClearContents

Yang benar:

Code ini salah syntax.

Me.Range(Cells(2, 4), Cells(5, 4)).ClearContents

Artinya: Mas Harry ingin menghapus Content dari Cell "D2" s/d "D5".

Begitulah..


ngarasan
03 Nov 2011
0

Ohhh ... pantesan, makasih mas rachmad.

Semoga ilmu yang diberikan dapat pahala yang banyak. Aminnnn.


harrycrb
03 Nov 2011
0

Amiin..

Terima kasih doa-nya..


ngarasan
03 Nov 2011
0

selamat siang mas...mau nanya,,klo diatas kan ada script untuk menyimpan data dari sheet Form ke sheet Database...mau nanya,,kalo untu mengedit data gimana y..??

misal saya mengetikkan data nama "acan" di sheet form,,dan kemudian tekan enter,,mmaka data alamat di sheet Form terisi dengan "ngarasan",,yang diambil dari sheet Database.

maturnuwun sebelumnya... :)


bluerain
04 Jul 2012
0

Mas Rachmad yang baik saya sudah coba macro nya dan berjalan dengan baik

Namun saya sedikit perbedaan kolom dengan kolom mas rachmad dimana kolom saya ada yang menggunakan formula dan kolom yang menggunakan formula tersebut saya protek dengan password dengan Protec Sheet. 

Pertanyaannya:

1. Gimana cara simpan row nya dari sheet "Form" (yang beberapa kolom di sheet "Form" ada yang di protek) ke dalam sheet "Database"

2. Gimana cara "paste" nya menggunakan paste special yaitu paste hanya ":value" nya saja? Karena saya sudah coba ternyata kolom yang ada formula nya tidak bisa di paste ke dalam sheet "Database" tersebut

 

Terima kasih sebelumnya


Tomycom
12 Jun 2014
0

User Online

We have 108 guests and no members online

Kitab VBA Excel Level Satu


523952 342835842418972 309765083 nUntuk yang ingin belajar dari NOL.

SMS: 0878 0878 2141

Newsletter

Daftarkan email anda untuk mendapatkan update dari Klinik Excel
UA-20522645-1