Terima kasih atas bantuannya Mas Puthut, namun otak ini sudah cukup berumur
untuk belajar VBA rada sulit apalagi kalau belajar sendiri. Sebetulnya ingin
sekali belajar, kira-kira ada rekomendasi buku yang cukup lengkap & mudah
dipelajari dari gramedia nggak buat belajar VBA atau macro.
-------------------------------------------------------------
Puthut Wibowo
2009-10-15 21:14:59
belajar-excel
º
Re: [belajar-excel] Rekap data
Om om om...bikinya jangan di jadiin Pipot Tabel Berat oomm ........mending pake
VBA aja oom, . :
Logika nya kayak gini oom :
Cari KodePO yang Unik dari Master Data
Pisahkan semua KodePO Berdasarkan Kode PO yang Unik dari Master Data
dan Tampilkan di ShitBaru 1 Kode PO satu Tabel
Kodingannya kayak gini ooomm.......(File Terlampir...Srikiti Makronya oom 'LoW'
)
Option Explicit
Dim InputSheet As Worksheet
Dim wShitHasilAkhir As Worksheet
Dim x As Variant
Dim y As Variant
Dim r As Long
Dim txtValidasi As String
Dim vCountHasilAkhir As Long
Dim BarisTerakhir, vBarisAkhirHeader As Long
Dim wShitMaster As Worksheet
Dim wShitSementara As Worksheet
Dim vJumlahBaris As Long
Dim i As Long
Dim Countkolom As Long
Sub EnakOOm()
Application.ScreenUpdating = False
Set wShitMaster = Worksheets("MASTER DATA") ' Set Master Data pada sheet 10
BarisTerakhir = wShitMaster.Range("A" & Rows.Count).End(xlUp).Row ' Nilai
Looping
Set wShitSementara = Worksheets.Add
' Kopi data dengan kriteria UNIQUE
wShitMaster.Range("B1:B" & BarisTerakhir).AdvancedFilter
Action:=xlFilterCopy, CopyToRange:=wShitSementara.Range("A1"), Unique:=True
vJumlahBaris = wShitSementara.Range("B" & Rows.Count).End(xlUp).Row
' Loop dan kopi ke range baru
For i = 2 To vJumlahBaris
wShitMaster.Rows("1:" & BarisTerakhir).AdvancedFilter
Action:=xlFilterCopy, CriteriaRange:=wShitSementara.Range("A1:A2"), _
CopyToRange:=Worksheets(wShitSementara.Range("A2").Value).Range("A2"),
Unique:=False
wShitSementara.Rows(2).Delete
Next i
Set InputSheet = Worksheets("MASTER DATA")
Set wShitHasilAkhir = Worksheets.Add(after:=Worksheets(Sheets.Count))
wShitSementara.Activate
vCountHasilAkhir = 3
BarisTerakhir = InputSheet.Range("A" & Rows.Count).End(xlUp).Row
r = 2
' Loop sampai dengan Cell kosong
Do While Cells(r, 1) <> ""
' Set Uniqe Nomor PO
txtValidasi = wShitSementara.Cells(r, 1)
' Masukan Header Kolom Tabel
For Countkolom = 1 To 7
wShitHasilAkhir.Cells(vCountHasilAkhir - 2, "A") = txtValidasi
wShitHasilAkhir.Cells(vCountHasilAkhir - 1, Countkolom) =
InputSheet.Cells(1, Countkolom)
wShitHasilAkhir.Cells(vCountHasilAkhir - 1, Countkolom).Font.Bold =
True
wShitHasilAkhir.Cells(vCountHasilAkhir - 1,
Countkolom).Interior.ColorIndex = 36
Next Countkolom
' Masukan Data Ke item
For i = 2 To BarisTerakhir
If txtValidasi = InputSheet.Cells(i, 2) Then
wShitHasilAkhir.Cells(vCountHasilAkhir, 1) =
InputSheet.Cells(i, 1)
wShitHasilAkhir.Cells(vCountHasilAkhir, 2) =
InputSheet.Cells(i, 2)
wShitHasilAkhir.Cells(vCountHasilAkhir, 3) =
Format(InputSheet.Cells(i, 3), "dd/mm/yyyy")
wShitHasilAkhir.Cells(vCountHasilAkhir, 4) =
InputSheet.Cells(i, 4)
wShitHasilAkhir.Cells(vCountHasilAkhir, 5) =
InputSheet.Cells(i, 5)
wShitHasilAkhir.Cells(vCountHasilAkhir, 6) =
InputSheet.Cells(i, 6)
wShitHasilAkhir.Cells(vCountHasilAkhir, 7) =
InputSheet.Cells(i, 7)
vCountHasilAkhir = vCountHasilAkhir + 1
End If
Next i
vBarisAkhirHeader = wShitHasilAkhir.Range("A" &
Rows.Count).End(xlUp).Row
vCountHasilAkhir = vCountHasilAkhir + 2
r = r + 1
Loop
' Hapus Work Shit sementara -------------
Application.DisplayAlerts = False
wShitSementara.Delete
Application.DisplayAlerts = True
' ---------------------------------------
wShitHasilAkhir.Columns("A:G").AutoFit ' Autofit Hasil Tabel
Application.ScreenUpdating = True
wShitHasilAkhir.Activate
End Sub
--------------------------------------------------------------------------------------------
* Note: Dibuat dan Diuji menggunakan ommXL2003 .....
- ^ Puthut Wibowo ^ -
--- On Thu, 10/15/09, hasna <[email protected]> wrote:
From: hasna <[email protected]>
Subject: [belajar-excel] Rekap data
To: "belajar-excel" <[email protected]>
Date: Thursday, October 15, 2009, 4:34 PM
Yth Mas & Mbak,
Maaf tadi ketinggalan filenya.
Mohon bantuannya untuk memecahkan permasalahan saya, begini saya punya
data seperti contoh terlampir dan akan direkap sesuai dengan nomor Ordernya
masing-masing secara otomatis urut berdasarkan tgl dengan menggunakan formula
yang kira-kira tidak terlalu berat karena data tersebut cukup banyak. kalau
menggunakan tabel pivot data memang kelihatan mudah tapi saya menginginkan
dengan memakai formula yang memungkinkan antara data & rekap terpisah filenya.
terima kasih sebelumnya.
Teguh PA
------------ --------- ----
te...@toppan. co.id