Tecnologia, programação e muito Visual FoxPro.

quarta-feira, 18 de agosto de 2010

Re: ]] XL-mania [[ Membuat rekap dari data Web

 

betul kata mas Kid
perlu dibuat tabel normal dulu

berikut ini 2 cara solusi dengan makroh

1.

makro membuat tabel normal dulu
berdasarkan tabel normal, dibuat tabel rekap

tabel normal yg terbentuk itu sangat berguna untuk proses lain lebih lainjut
misalnya Report dlm bentuk lain yg dibuat dengan Pivot Tabel

Private Sub Rebuild(Tbl As Range)
   ' siti Vi / 17 Aug 2010 / untuk XL-mania
   ' memperbaiki tabel sbg tabel database
   ' berdasarkan tabel database, dibuat rekap
   ' dgn asumsi tabel = pasti 5 kolom
   '----------------------------------------
   Dim dTbl As Range, Rekap As Range
   Dim r As Long, n As Long, i As Long
   Dim DafKdCab, DafNmCab
   Dim KdCab As String, NmCab As String
  
   'menentukan letak & dimensi tabel database & tabel rekap
   Set dTbl = Tbl.Offset(0, Tbl.Columns.Count + 1)
   Set Rekap = dTbl.Offset(0, dTbl.Columns.Count + 1)
  
   'sementara baru dibuat judul kolomnya dulu
   Tbl(-1, 1).Resize(1, Tbl.Columns.Count).Copy dTbl(0, 1)
   Tbl(-1, 1).Resize(1, Tbl.Columns.Count).Copy Rekap(0, 1)
   Rekap(1, 4).EntireColumn.Delete
  
   'mengisi tabel database
   For r = 1 To Tbl.Rows.Count
      If Tbl(r, 1) = "" Then
         KdCab = Tbl(r, 2)
         NmCab = Tbl(r, 3)
      ElseIf Not Tbl(r, 1) = "Sub Total" Then
         n = n + 1
         dTbl(n, 1) = Tbl(r, 1)
         dTbl(n, 2) = KdCab
         dTbl(n, 3) = NmCab
         dTbl(n, 4) = Tbl(r, 4)
         dTbl(n, 5) = Tbl(r, 5)
      End If
   Next r
   
   ' meng extract UniqValue Kode & NamaCabang (untuk kriteria rekap)
   Set dTbl = dTbl.CurrentRegion.Offset(1, 0)
   Set dTbl = dTbl.Resize(dTbl.Rows.Count - 1, dTbl.Columns.Count)
   dTbl.Name = "dTabel"
   DafKdCab = LOUV(dTbl.Resize(dTbl.Rows.Count, 1).Offset(0, 1))
   DafNmCab = LOUV(dTbl.Resize(dTbl.Rows.Count, 1).Offset(0, 2))
  
   ' mengisi data tabel rekap
   ' Kolom totalPenjualan sengaja belum diisi
   ' ( isilah dengan formula berbasis fungsi SUMIF saja )
   For i = 1 To UBound(DafKdCab)
      Rekap(i, 1) = i
      Rekap(i, 2) = DafKdCab(i)
      Rekap(i, 3) = DafNmCab(i)
      Rekap(i, 4) = "pakai SUMIF dong.."
   Next i
  
   ' merapihkan tabel-tabel
   dTbl.CurrentRegion.Columns.AutoFit
   Rekap.CurrentRegion.Columns.AutoFit
End Sub

2.
makro langsung membuat tabal rekap
tidak perlu kalkulasi semacam SUMIF karena
data subtotal sudah tersedia

Private Sub Rekappp(Tbl As Range)
   ' siti Vi / 17 Aug 2010 / untuk XL-mania
   ' langsung membuat tabel rekap
   '----------------------------------------
   Dim Rekap As Range, r As Long, n As Long
   Dim KdCab As String, NmCab As String
  
   ' --menentukan letak & dimensi tabel rekap
   Set Rekap = Tbl.Offset(0, Tbl.Columns.Count + 2)
   ' --sementara baru dibuat judul kolomnya dulu
   Tbl(-1, 1).Resize(1, Tbl.Columns.Count).Copy Rekap(0, 1)
   Rekap(1, 4).EntireColumn.Delete
  
   ' --mengisi tabel Rekap
   For r = 1 To Tbl.Rows.Count
      If Not Tbl(r, 2) = "" Then
         KdCab = Tbl(r, 2)
         NmCab = Tbl(r, 3)
      End If
      If Tbl(r, 1) = "Sub Total" Then
         n = n + 1
         Rekap(n, 1) = n
         Rekap(n, 2) = KdCab
         Rekap(n, 3) = NmCab
         Rekap(n, 4) = Tbl(r, 5)
      End If
   Next r  
   ' --merapihkan tabel-tabel
   Rekap.CurrentRegion.Columns.AutoFit
End Sub



2010/8/17 Mr. Kid <mr.nmkid@gmail.com>
> Dear Haddy Permadi,
> Membutuhkan kolom bantu untuk menormalisasi tabel.
> Setelah menjadi tabel normal, bisa di-summary dengan pivot table
>
> Regards.
> Kid.

>
> 2010/8/16 haddy permadi <aa_haddy@yahoo.com>
>> Dear rekans XL Mania
>> saya sedang belajar XL otodidak nih. Dan, senang sekali menemukan milist ini
>> saya ada masalah
>> saya harus merekap data yg sumbernya diambil dari web
>> saya copy data tersebut dan saya paste kan sebagai file XL yg hasil ilustrasinya
>> (file asli besar sekali) saya lampirkan
>> data sebenarnya sebagai berikut :
>> cabang dan sub cabang 550
>> produk 42
>> jadi jumalh baris nya biasanya 20.000-an baris output
>>
>> data itu ingin saya olah yg hasilnya saya sertakan di file yg sama dengan
>> ilustrasi data mentah
>>
>> mohon petunjuk para ML Mania expert yg lebih berpengalaman untuk membuat file
>> seperti yg saya inginkan
>>
>> terima kasih

__._,_.___
Recent Activity:
+-:: XL-mania ::::::::::::::::::::----------------------------------+
| selamat menunaikan ibadah puasa... walau perut lapar, tanya excel |
| jalan terus... malu bertanya telat pulang kantor :D :D :D         |
| http://www.facebook.com/group.php?gid=37671048001&ref=mf          |
+-------------------------------------------------------------------+
| DILARANG : MLM, money game, OOT, iklan tanpa izin, SARA, testing, |
| pembicaraan pribadi, one line message,  melecehkan,  tidak sopan. |
+-------------------------------------------------------------------+
| Buat subjek yang kreatif, jangan : "tanya", "help", "mohon bantu" |
| Usahakan besar attachment < 200 kb. Gunakan  winzip  jika  perlu. |
+-------------------------------------------------------------------+
| Ajak teman-teman Anda bergabung dengan mengirim e-mail kosong ke  |
| XL-mania-subscribe@yahoogroups.com atau kirimkan mereka file dari |
| http://groups.yahoo.com/group/XL-mania/files/Promotion/           |
+-------------------------------------------------------------------+
| Berikan testimoni di : http://www.friendster.com/xlmania atau...  |
| http://www.xl-mania.com/2008/06/testimoni-xl-mania.html           |
+-------------------------------------------------------------------+
| Message lama ada di :                                             |
| http://groups.yahoo.com/group/XL-mania/messages [perlu yahoo id]  |
| http://www.mail-archive.com/xl-mania@yahoogroups.com              |
+-------------------------------------------------------------------+
MARKETPLACE

Stay on top of your group activity without leaving the page you're on - Get the Yahoo! Toolbar now.


Get great advice about dogs and cats. Visit the Dog & Cat Answers Center.


Hobbies & Activities Zone: Find others who share your passions! Explore new interests.

.

__,_._,___

Nenhum comentário:

Arquivo do blog