Ada pertanyaan? Masuk ke Forum atau klik di sini..!

requestHalo, Pembaca Klinik Excel.. Bantu kami tetap online yuk..

Jika artikel-artikel kami dirasa memberikan manfaat, mohon bantu kami agar website ini tetap online ya.. Caranya gampang, cukup klik iklan yang tampil aja kok.. Terima kasih sebelumnya dan do'a kan agar kami dapat terus menulis artikel yang bermanfaat..

Macro & VBA, Hits: 1259, Comments: 1, Bookmarked: 0, Followers: 4

Hallo Master,

 

Seneng banget akhirnya nemuin web ini, semoga permasalah yang saya alami bisa terselesaikan.

 

Kasusnya gini om, dalam file excel ada 4 sheet (instuksi pengisian,database,form 1,form 2) dibagian database ada isian Biodata,nilai, dan juga ada tombol Generate. Ketika tombol Generate di klik akan mengcopy sheet form 1 dan form 2 ke sheet berikutnya dengan nama sheet sesuai nama orang pada urutan pertama dan seterusnya. Sedangkan yg saya inginkan itu begitu tombol Generate di Klik akan mengcopy data form 1 dan form 2 ke workbook Baru dan begitu seterusnya sesuai jumlah orang yang ada di daftar.

 

Mohon bantuan master untuk macronya, di kasus saya ini.

Terima kasih sebelumnya.

Best Regards

Vicky

 

Nb: berikut saya lampirkan code macronya

Private Sub CommandButton1_Click()
Dim peserta, i, j, k, l, m, n, age, jumlah As Integer
Dim DataDiri(1 To 100, 1 To 3) As String
Dim DataTL(1 To 100, 1), tanggal As Date
Dim Nilai(1 To 100, 1 To 6) As String
Dim nama As String

Worksheets("database").Select
tanggal = Range("h2").Value
peserta = Range("h4").Value

peserta = 0

For n = 12 To 111
If IsEmpty(Cells(n, 3)) = False Then
peserta = peserta + 1
End If
Next n


For i = 1 To peserta
DataDiri(i, 1) = Cells(11 + i, 3).Value
DataDiri(i, 2) = Cells(11 + i, 8).Value
DataDiri(i, 3) = Cells(11 + i, 9).Value

DataTL(i, 1) = Cells(11 + i, 7).Value

Nilai(i, 1) = Cells(11 + i, 25).Value
Nilai(i, 2) = Cells(11 + i, 27).Value
Nilai(i, 3) = Cells(11 + i, 29).Value
Nilai(i, 4) = Cells(11 + i, 31).Value
Nilai(i, 5) = Cells(11 + i, 33).Value
Nilai(i, 6) = Cells(11 + i, 22).Value
Next i

m = 4

For i = 1 To peserta

j = ActiveWorkbook.Worksheets.Count
Worksheets("Halm. 1").Copy After:=Worksheets(j)
nama = DataDiri(i, 1)
ActiveSheet.Name = nama

Worksheets(m + i).Range("E7").Value = DataDiri(i, 1)
Worksheets(m + i).Range("E8").Value = DataTL(i, 1)
age = DateDiff("yyyy", DataTL(i, 1), tanggal)
Worksheets(m + i).Range("G8").Value = age
Worksheets(m + i).Range("E9").Value = DataDiri(i, 2)
Worksheets(m + i).Range("N7").Value = DataDiri(i, 3)
Worksheets(m + i).Range("L8").Value = tanggal

For l = 1 To 5
Worksheets(m + i).Cells(15 + l, 16).Value = Nilai(i, l)
Next l
Worksheets(m + i).Cells(24, 16).Value = Nilai(i, 6)

Worksheets("Halm. 2").Copy After:=Worksheets(m + i)
ActiveSheet.Name = nama & " Hal 2"
m = m + 1
Next i


End Sub


vicky
Wednesday, June 14, 2017
0% of 0 votes

Tambahan om...

Berikut Code Module nya :

Sub CopySheet()
'
' CopySheet Macro
'

'
    Sheets("Halm. 1").Select
    Sheets("Halm. 1").Copy After:=Sheets(4)
    Sheets("Halm. 1 (2)").Select
    Sheets("Halm. 1 (2)").Name = "Nama2 Hal1"
    Sheets("Halm. 2").Select
    Sheets("Halm. 2").Copy After:=Sheets(5)
    Sheets("Halm. 2 (2)").Select
    Sheets("Halm. 2 (2)").Name = "Nama 2 Hal2"
End Sub


vicky
14 Jun 2017
0