Dear wahyono,
Coba dibuat begini:

1. Kli Developer, Record macro
2. Pada sheet Database block A8:D8, Klik Kopi
3. Pindah ke sheet Jan klik A6
4. Pilih paste Value
5. Ketik formula di G6: =E5*VLOOKUP(D5,DataBase!$J$3:$K$7,2,FALSE)
6. Ketik formula di H6: =E6+G6
7. Pindah kesheet DataBase
8. Ulangi langkah 2 sampai langkah 6 untuk Sheet Feb.
9. Stop Recording.

sekarang buka Visual Basic Editor. (Alt F11)
1. Double Klik Sheet1(DataBase) pada ProjectExplorer
2. Pilih bprosedur whorksheet change, atau ketikkan cekrip berikut:

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rowne As Integer
    rowne = ActiveCell.Row
     If Target.Address = "$D$" & rowne Then

     End If
    End Sub

Kemudian kopi cekrip hasil rekaman kedalam cekrip yang baru diketik. (cekrip
rekaman ada pada module 1.  yang dicopy adalah baris sesudah Sub sampai
baris sebelum End Sub) di pastekan sebelum End If (tempat yang kosong))
3. Ubah cekrip Range("A8:D8") menjadi: Range("A" & rowne & ":D" & rowne)
  (Tujuannya agar dapat mengkopi baris yang sendang diketik)
4. Ubah cekrip Range("A6") menjadi: Range("A" & rowne - 2)
  (Tujuannya agar dapat menempel pada 2 baris di bawah yang sendang diketik)
5. Hapus semua .Select sampai cell (sisakan satu titik)
rowne - 2).Select
    ActiveCell.P
6. Tambahkan cekrip : Sheets("Jan").
    (ada titiknya lho) pada semua cekrip yang didahului range dan berada di
bawah Jan sebelum Feb.
7. Simpan File

Jika Semua dijalankan dengan benar akan memperoleh cekrip lengkap sebagai
berikut:

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rowne As Integer
  rowne = ActiveCell.Row
    If Target.Address = "$D$" & rowne Then
    Sheets("DataBase").Select
    Range("A" & rowne & ":D" & rowne).Select
    Selection.Copy
    Sheets("Jan").Range("A" & rowne - 2).PasteSpecial Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Sheets("Jan").Range("G" & rowne - 2).FormulaR1C1 = _
        "=RC[-2]*VLOOKUP(RC[-3],DataBase!R3C10:R7C11,2,FALSE)"
    Sheets("Jan").Range("H" & rowne - 2).FormulaR1C1 = "=RC[-3]+RC[-1]"
    Sheets("DataBase").Select
    Range("A" & rowne & ":D" & rowne).Select
    Selection.Copy
    Sheets("Feb").Range("A" & rowne - 2).PasteSpecial Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Sheets("Feb").Range("G" & rowne - 2).FormulaR1C1 = _
        "=RC[-2]*VLOOKUP(RC[-3],DataBase!R3C10:R7C11,2,FALSE)"
    Sheets("Feb").Range("H" & rowne - 2).FormulaR1C1 = "=RC[-3]+RC[-1]"
    End If
End Sub


Sebenarnya cekrip tersebut dapat dipersingkat menggunakan loop atau with
dapat juga dengan case.
Tentunya cekrip dapat singkat jika diketik sendiri, namun bagi pemula
seperti saya record macro lebih mudah dikerjakan dan tidak salah syntax.
silahkan dicoba sambil belajar, kalau mau belajar yang lebih detail
silahkan buka blog Milis mulai dari sini
<http://b-excel.blogspot.co.id/2013/06/belajarvba-000-kenalan.html>

Mohon maaf atas semua kesalahan. apalagi yang merasa tersinggung dengan
ketikan ini, terutama para master Excel mohon bimbingannya agar ketikan
saya ini dapat diperbaiki.

wasalamualaikum warahmatullah
NangAgus






2015-12-18 0:31 GMT+07:00 Teguh Wahyono [email protected]
[belajar-excel] <[email protected]>:

>
>
> Dear all,
> Saya punya masalah dgn data excel saya, mungkin teman2 di millis ini bisa
> membantu agar bisa lebih cepat dan efisien.
> Saya punya data di excel yang berisi data base pegawai dan sheet bulan per
> bulan yang harus selalu diupdate jumlahnya dengan cara mengkopi kebawah
> tiap bulannya. (Contoh file terlampir). Penjelasannya bisa lihat di sheet
> "Jan".
>
> Adakah teman2 di millis ini yang bisa bantu memberitahu saya script macro
> vbanya. Saya sudah coba nyari di gogle tapi gak nemu. apalagi saya juga
> beginer yang baru belajar vba.
>
> Atas bantuannya terima kasih.
> Salam
> Wahyono
>
>
> 
>

Kirim email ke