Tecnologia, programação e muito Visual FoxPro.

terça-feira, 25 de agosto de 2009

Re: ]] XL-mania [[ Bagaimana mengotomatisasi convert 2 sheet

 

kembali ke masalah lawas:
sebuah report biasanya sulit digenerate berdasarkan REPORT
tetapi report biasanya sangat mudah digenerate berdasarkan list yg memenuhi syarat sbg tabel database.

Reports, walaupun berbentuk mirip tabel sering sudah mengandung peringkasan-peringkasan;
data-data yg berulang ulang sudah di summarize dsb. (misal dlm sheet BOMLIST kolom Location sudah diringkas dari beberapa baris menjadi sebaris dengan menggabungkan data location menjadi satu cell.
Tabel seperti itu tidak memenuhi syarat untuk dijadikan data sumber pengolahan data lebih lanjut. Dapat dikatakan sebagai tabel yg tidak normal.

Tujuan utama pak Mye dapat dengan gampang dibuat, kalau kita dapat membuat tabel BOMLIST menjadi tabel yg normal. Kolom lokasi, seperti yg telah dikatakan oleh ybs, tiap cell nya harus hanya mengandung satu data location, bila di situ terdapat beberapa data yg tergabung menjadi satu cell maka harus diurai menjadi banyak records sebanyak gabungan data dlm cell "location"
Setelah kita mempunyai tabel spt itu maka meLOOKUP data berdasarkan data LOCATION menjadi hal biasa yg dengan formula dapat diselesaikan, msialnya dgn memanfaatan fungsi match dan index.

Dengan makro spt di bawah ini, tabel BOMLIST akan diNORMALISASI (menjadi tabel yg ada di sheet NewBomList)

Ada dua workbook yg dilampirkan:
<1>
makro hanya membuatkan tabel normal,
selanjutnya REPORT dibuat dengan formula (berbasis fungsi Offset & Match)
<2>
makro mengerjakan semua pekerjaan
dari Membuat tabel normal + Menyusun report.


Sub Convert_TabelToNormal()
'---------------------------

' siti Vi / 25 agu 2009
' menormalkan tabel BomList
'---------------------------
Dim TbBom As Range, TbNew As Range
Dim N_Loc As Integer, ArrLoc As Variant
Dim R1 As Long, R2 As Long, i As Long

'mendefine tabel, letak dan dimensinya
Set TbBom = Sheets("BOMLIST").Range("A3").CurrentRegion
Set TbBom = TbBom.Offset(1, 0).Resize(TbBom.Rows.Count - 1, TbBom.Columns.Count)
Set TbNew = Sheets("NewBomList").Range("A4")

' membuat tabel baru yg normal
' berdasarkan tabel BOMLIST
Application.ScreenUpdating = 0
Application.Calculation = xlCalculationManual
' pengulangan / akses tiap row di tabel BOMLLIST
For R1 = 1 To TbBom.Rows.Count
If Not IsEmpty(TbBom(R1, 6)) Then
' tiap data di kolom Location Info dikonversi ke data array, 
' misal
text R925,R926 menjadi array 2 elemen R925 dan R926
ArrLoc = Split("," & TbBom(R1, 6).Text, ",")
' jml elemen array dicatat
N_Loc = UBound(ArrLoc)
' tiap records (mulai kolom 2 sebanyak 3 kolom) disalin
TbBom(R1, 2).Resize(1, 3).Copy
' pengulangan tulis data, sebanyak jmlh elemen dlm ArrLoc
For i = 1 To N_Loc
R2 = R2 + 1
' hasil copyan ditulis (ber-ulang) di tabel New
TbNew(R2, 1).PasteSpecial Paste:=xlPasteValues
' data LocationInfo (yg sudah terpisah) ditulis di kolom 4
TbNew(R2, 4) = ArrLoc(i)
Next i
End If
Next R1

Application.ScreenUpdating = 1
Application.Calculation = xlCalculationAutomatic
TbNew(1, 1).Select
MsgBox "Selesai Boss.., Silakan lihat TabelHasil", _
64, "Create Normal Tabel.."
Sheet4.Activate




2009/8/24 Myeko <myeko.budi@gmail.com>
>
> selamat malam
> terimakasih atas respondnya mas Herry , memang saya sedang mencari
> untuk Korelasi combine convert 2 data jika ada menggunakan formula
> macro. ( antara cad dengan BOM List ), susah memang dan tidak akurat.
>
> Secara simplenya sebenarnya data yang saya ingin olah adalah
> memisahkan Lokasi part ( dengan separator ,(koma ) menjadi lokasi
> independen (per lokasi ).
>
> contoh :
> Part No : 0RH1500C622
> Part Name : Resistor,Chip
> Spec : MCR03EZPJ151 150OHM 5% 1/10W 1608 R/TP - ROHM ELECTRONICS KOREA
> CORPORATION
> Jumlah Lokasi : 4
> Detail Lokasi pada PCB : R126,R921,R922,R8R1
>
> Pembacaannya : pada PCB untuk part Number 0RH1500C622 terpasang 4
> Lokasi yaitu R126,R921,R922,R8R1.
>
> Berdasarkan contoh diatas separator , (koma ) pada lokasi part susah
> sekali dipisahkan.
> Saya sudah mengunakan fasilitas excel " Text to column " dan hasilnya
> untuk masing-masing lokasi terpisah per kolom tetapi untuk mengolah
> data selanjutnya dengan compare VLook up data yang kedua yaitu CAD
> tidak bisa dilakukan jika data per kolom memanjang horizontal ( harus
> diubah vertikal ke masing masing row dengan menggunakan menu insert
> row --> transpose.--> copy
>
> Bisa dilakukan secara manual namun bisa dibayangkan jika jumlah lokasi
> dan part number ribuan maka saya harus melakukanya secara manual.
> Data detail usaha yang sudah saya lakukan terlampir .
>
> mohon saran dan bantuan selanjutnya.
>
> terimakasih
>
> Eko Budi P
>

> Pada tanggal 24/08/09, Herry Sutjipto <herrysri@cv-aldira.co.id> menulis:

> > Dear Eko Budi Prastowo,
> > Relation antara sheets "data 1" dan "data 2" tidak ada (saya nggak nemukan),
> > jadi bagaimana bisa menjadi sheets "hasil yang diharapkan".
> > Kalau tidak jelas, akan menyebabkan hasil menyimpang dari harapan.
> > Agar dijelaskan.
> >
> > Bgds
> > Herry
> >
> > From: XL-mania@yahoogroups.com [mailto:XL-mania@yahoogroups.com] On Behalf
> > Of Myeko
> > Sent: 23 Agustus 2009 10:57
> > To: xl-mania@yahoogroups.com
> > Subject: ]] XL-mania [[ Bagaimana mengotomatisasi convert 2 sheet
> >
> > Mau tanya NIch untuk xl mania member semua untuk Macro excel saya baru
> > belajar alias
> > masih pemula.
> >
> > Saya mau mengolah 2 data excel ( cad data dan BOM list ) menjadi 1
> > sheet baru lagi dengan kombinasi keduanya namun kesulitannya adalah
> > pada file BOM list untuk kolom Location info menggunakan separator (,
> > ) sehingga saya tidak bisa melakukan vlookup.
> >
> > ( data file yang ingin saya gabungkan terlampir )
> >
> > Bisa minta tolong mas untuk buatkan bagaimana caranya mengotomatisasi
> > converting kedua sheet tersebut menjadi 1 sheet.
> >
> > Atas perhatian dan bantuannya saya ucapkan terimakasih.
> >
> > Salam
> > Eko Budi Prastowo

__._,_.___
+-:: XL-mania ::::::::::::::::::::----------------------------------+
| Selamat menjalankan ibadah puasa...                               |
| 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              |
+-------------------------------------------------------------------+
Recent Activity
Visit Your Group
Give Back

Yahoo! for Good

Get inspired

by a good cause.

Y! Toolbar

Get it Free!

easy 1-click access

to your groups.

Yahoo! Groups

Start a group

in 3 easy steps.

Connect with others.

.

__,_._,___

Nenhum comentário:

Arquivo do blog