Dear Mr, Kid,

Terima kasih atas informasi rumusnya.
Setelah saya menuangkan rumus yang Bapak berikan, hasilnya ok. Tapi saya 
mengalami kendala / pertanyaan sebagai berikut: 

1. Pada file "DATABASE"-nya (Sheet Database) apa bisa di protect...???
2. Apakah pada file "DATABASE" tersebut bisa kita buat user Form yang dapat di 
Link ke file "REGISTRASI" (Sheet ..........)...???
3. Pada program pinjam meminjam buku yang telah saya buat sebelumnya, misalnya 
untuk registrasi pengembalian buku yang telah dipinjam terdapat rumus sbb:
Private Sub UserForm_Initialize()
   Dim i As Long, TbHeigh As Long, TbWidth
   
   Set MemMaster = Sheets("Registrasi").Cells(1).CurrentRegion
   TbHeigh = MemMaster.Rows.Count - 1
   TbWidth = MemMaster.Columns.Count - 1
   Set MemMaster = MemMaster.Offset(1, 0).Resize(TbHeigh, TbWidth)
   
   Application.EnableEvents = False
   With Cbonoregpinjam
      .ColumnCount = 2
      .BoundColumn = 1
      For i = 1 To TbHeigh
         .AddItem
         .List(i - 1, 0) = MemMaster(i, 1)
      Next i
   End With
   Application.EnableEvents = True
   txttglkembali = Format(Date, "mm/dd/yyyy")
   txtjamkembali = Format(Time, "h:mm")
         
         
End Sub

Private Sub Cbonoregpinjam_Change()
   Dim r As Integer
   If Cbonoregpinjam.ListIndex > -0 Then
      r = Cbonoregpinjam.ListIndex + 1
      If r > 0 Then
         txtktp.Value = MemMaster(r, 2)
         txtnama.Value = MemMaster(r, 3)
     
Tapi saya selalu gagal dalam memunculkan User Form "BUKU KEMBALI".
Pada program sebelumnya yang situasinya Sheet "DATABASE" menjadi satu kesatuan 
dalam i (satu) file, rimus tersebut diatas bisa digunakan. tapi setelah Sheet 
"DATABASE" saya pindahkan menjadi file yang berbada, mengapa rumus tersebut 
tidak dapat difungsikan.

Masih terkait dengan pertanyaan No. 3, mohon berkenan informasi dan 
rumusnya...???

Terima kasih atas berkenan informasi dan rumusnya.


Regards,


Harry

N/B:
Saya telah mencoba menggunakan rumus sbb:
Private Sub UserForm_Initialize()
  Dim wbkA As Workbook, wbkDB As Workbook
  Set wbkA = ThisWorkbook
  Set wbkDB = Workbooks.Open(wbkA.Path & "\database.xls")


tapi yang menjadi kesalahan adalah:
TbHeigh = MemMaster.Rows.Count - 1
TbWidth = MemMaster.Columns.Count - 1

________________________________
 Dari: Kid Mr. <[email protected]>
Kepada: [email protected] 
Dikirim: Minggu, 29 Januari 2012 22:31
Judul: Re: [belajar-excel] SIMPAN DATA USER FORM PADA FILE YANG BEDA
 

  
Dear Harry,

Pertanyaan No. 1
>> pada event click tombol Save, ubah baris kodenya menjadi :
Private Sub cmdAdd_Click()
   Dim iRow As Long, Reg As Range, oCtrl As Control
   
   '----------------------------
    'Kid : 2012-01-29 : modified
    '----------------------------
    'deklarasi variabel workbook
    Dim wbkA As Workbook, wbkDB As Workbook
    
    'init workbooknya
    Set wbkA = ThisWorkbook
    Set wbkDB = Workbooks.Open(wbkA.Path & "\database.xls")
    wbkA.Activate
    
    'init range database nya
    Set Reg = wbkDB.Worksheets("DATABASE").Cells(1)
    '----------------------------
   
   'find first empty row in database
   iRow = Reg(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
   
   
   'copy the data to the database
   Reg(iRow, 1).Value = txtNoreg.Value
   Reg(iRow, 2).Value = txtNama.Value
   
   'clear the data / modified by Haps / 30 Jul2011
   txtNoreg.Value = ""
   txtNama.Value = ""

   '----------------------------
    'Kid : 2012-01-29 : modified
    '----------------------------
   'tulis jumlah record database di registrasi cell a1
    wbkA.Sheets("registrasi").Range("a1").Formula = 
Reg.CurrentRegion.Rows.Count - 1
    
    'tutup database sekalian simpan
    Application.DisplayAlerts = False
    wbkDB.Close True
    Application.DisplayAlerts = True
    wbkA.Activate
    '----------------------------
    
Unload Me
End Sub

Pertanyaan No. 2
Database yang baik tidak memiliki baris Sum atau Subtotal di baris ke 
sekiannya. Akan lebih baik lagi jika tidak ada formula didalamnya.
Untuk hal ini, maka jumlah record database dapat disimpan pada sheet registrasi 
cell a1 yang berada di file interface (lihat baris hijau pada no 1 di atas)
Karena jumlah record ada di sheet registrasi, maka text box txtJumlah pada form 
frmJumlah diubah nilai properti Control Source-nya menjadi merujuk ke cell A1 
di sheet registrasi ( =registrasi!a1 )

Manfaatkan properti application.screenupdating = true sebelum proses dimulai 
dan application.screenupdating = false sebelum proses selesai untuk mengurangi 
efek blink saat buka workbook.

Jika control source dari txtjumlah di kosongkan, maka buat prosedur event 
initialize form dan beri baris kode :
    'deklarasi variabel workbook
    Dim wbkA As Workbook, wbkDB As Workbook
    
    Application.ScreenUpdating = False
    
    'init workbooknya
    Set wbkA = ThisWorkbook
    Set wbkDB = Workbooks.Open(wbkA.Path & "\database.xls")
    wbkA.Activate

    'tulis jumlah record database di registrasi cell a1
    txtjumlah.Text = 
wbkDB.Sheets("database").Range("a1").CurrentRegion.Rows.Count - 1

    'tutup database sekalian simpan
    Application.DisplayAlerts = False
    wbkDB.Close True
    Application.DisplayAlerts = True
    wbkA.Activate

    Application.ScreenUpdating = True

Regards,
Kid.


2012/1/29 Harry <[email protected]>

 
>  
>Dear BeExceller,
> 
>Mohon informasi dan penjelasan akan
pertanyaan saya dengan situasi dan kondisi sebabagai berikut:
>Pertanyaan No. 1
>Jika pada File “STUDI KASUS (SIMPAN
DATA USER FORM PADA FILE YANG BEDA)” terdapat 2 (dua) Sheet yaitu Sheet 
“REGISTRASI”
dan Sheet “DATABASE”. Pada file tersebut, jika saya mengisi User Form pada
Sheet “REGISTRASI” otomatis tersimpan pada Sheet “DATABASE”.
> 
>Pertanyaan saya adalah:
>Bagaimana caranya jika Sheet “DATABASE”
tersebut saya pindahkan pada File yang berbada Mis. File dng nama “DATABASE”.
> 
> 
>Pertanyaan No. 2
>Pada File “STUDI KASUS (SIMPAN DATA
USER FORM PADA FILE YANG BEDA)” Sheet “DATABASE” kolom C15 merupakan
penjumlahan dari C2 s/d C13. Jika User Form “JUMLAH” kita Click otomatis muncul
hasil penjumlahannya. Tetapi jika databasenya bertambah, kok rumusnya hilang
dan berganti dengan angka yang hasilnya tidak Up To Date (tidak sesuai dengan
hasil yang diinginkan)…???
> 
> 
>Mohon berkenan informasinya.
> 
>Regards,
> 
> 
>Harry
> 
>N/B:
>·                Data Sekarang: File “STUDI KASUS
(SIMPAN DATA USER FORM PADA FILE YANG BEDA)” terdapat 2 (dua) Sheet yaitu Sheet
“REGISTRASI” dan Sheet “DATABASE”.
>·                Data yang seharusnya: File “STUDI
KASUS (SIMPAN DATA USER FORM PADA FILE YANG BEDA)” hanya memiliki 1 (satu)
Sheet yaitu Sheet “REGISTRASI” sedangkan Sheet “DATABASE” terdapat pada file
yang berbeda yaitu File “DATABASE”
>

 

Kirim email ke