kirimpertanyaan

 

Belajar dan konsultasi masalah Excel      

Macro & VBA, Hits: 392, 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

Partners

logo baru local1news