Tecnologia, programação e muito Visual FoxPro.

sexta-feira, 13 de novembro de 2009

Re: ]] XL-mania [[ Rekap Data dari beberapa folder

 

dear pak priel...
 
iyya ya, siti juga main hantam-kromo saja : penulisan data tambahan itu (nama folder
WHERE data diciduk) selalu kudu harus di KOLOM 4, tak menyangka bahwa Tabel yg mo di refer
bisa macem-macem dimensinya.
 
Dalam makro yg siti usulkan itu kita membagi kerjaan dlm dua prosedur
Prosedur 1 (Sub RekapPriel) mengurusi pemilihan folder yg harus dipanggil, membuka tiap file
isi folder tsb; menyiapkan bukubaru dimana rekap mo ditulis, mencatat nama folder dan file
yg sedang dibuka dsb..
 
Giliran menuliskan data ke Rekapan (variable WriteRange), pekerjaan di subkan ke prosedur lain
(Private Sub Set-n-Copy)
 
Prosedur kedua ini mengerjakan pembacaan / copy data dari wokbook sumber yg sedang dibuka
(variable RefBook.ReadRange) dan dituliskan / paste  ke WriteRange.
Dipisah dlm prosedur tersendiri karena proses penulisan data dari tiap wokbook/sheet  terjadi
ber-ulang-ulang
 
Di setiap baris WriteRange dituliskan pula data nama folder, variable FLDnama, yaitu folder
darimana data berasal.
 
Nah disinilah terjadi kesalahan karena FLDname selalu di tulis di kolom ke 4
Seharusnya di Kolom ke ( banyaknya kolom RefRange + 1 )
 
Kalo gitu, kita bisa menambahkan variable baru, misal diberinama C (colom-index)
C = ReadRange.Column.Count
Nanti nya ketika kita harus menuliskan angka kolom; yg dulunya = 4 kita ganti dengan C+1
lengkapnya:
WritRng.Cells(1, C + 1).Resize(ReadRng.Rows.Count - 1, 1) = FLDName
 
Mengenai ada tambahan Resize(JmlRow, 1)  itu maksodku range yg ditulisi bukan hanya 1 cell
melainkan cell sekolom yg jumlah row (ke bawahnya) = jumlah row pada tabel yg diocpy)
 
Penulisan di banyak cell sekali gus ini, kalau di woksit bisa dilaksanakan dengan Ctrl + Enter.
 
Semoga saja cara ini termasuk Temennya Pegadaian (=mengatasi masalah tanpa masalah..)
Mudah-mudahan kolomnya mau bergeser ke kanan sesuai tabel yg sedang dicopy..
 
kindest regards,
siti
 
 
- code pada prosedur kedua--
 
Private Sub Set_N_Copy(DestSheet As Worksheet)
   Dim RefBook As Workbook
   Dim ReadRng As Range
   Dim WritRng As Range
   Dim FLDName As String
   Dim DestRow As Long
   Dim C As Integer   '<<---(ctv 13Nov09) jml kolom pada tabel yg sedang dibaca
  
   DestRow = DestSheet.UsedRange.Rows.Count + 2
   FLDName = Right(SubFld, 8)
   Set RefBook = Workbooks.Open(Filename:=SubFld & "\" & FileNm)
   Set ReadRng = RefBook.Sheets(1).Cells(1, 1).CurrentRegion.Offset(1, 0)
   C = ReadRng.Columns.Count
   Set WritRng = DestSheet.Cells(DestRow, 1)
  
   ReadRng.Copy
   DestSheet.Cells(DestRow, 1).PasteSpecial xlPasteValuesAndNumberFormats
   ' penulisan data FldName di Kolom ke C + 1 (dulunya, konstanta: 4)
   WritRng.Cells(1, C + 1).Resize(ReadRng.Rows.Count - 1, 1) = FLDName
   Application.CutCopyMode = False
   RefBook.Close SaveChanges:=False
End Sub
 
 
 
 
 
 
----- Original Message -----
Sent: Thursday, November 12, 2009 1:25 PM
Subject: Re: ]] XL-mania [[ Rekap Data dari beberapa folder

Bu Guru,

terima kasih sekali buat bantuannya, sangat mencerahkan. Masalahnya, dasar awam tapi sok teu.. hehehe
saya coba ubah codingnya, disesuaikan dengan kebutuhan dan nama file-nya, ternyata ada yang
nggak bisa saya kutak-katik

Pada label yang akan dicopy untuk jadi header column, aktualnya jumlah kolomnya beda-beda,
dan coding dari Bu Guru konstan di kolom ke-4. Ini sih salah saya, ndak ngasi contoh yang bener :-)

Boleh minta petunjuk lagi nggak, biar header column yang akan dicopy menyesuaikan dengan
jumlah kolom masing-masing file

Maaf ya bu, jadi ngeyelan. Maklum lagi baru belajar, buat rekans juga biar nambah ngelmu...

salam
priel

__._,_.___
+-:: XL-mania ::::::::::::::::::::----------------------------------+
| Kawin... Kawin... Minggu depan aku kawinnnnn...                   |
| 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              |
+-------------------------------------------------------------------+
.

__,_._,___

Nenhum comentário:

Arquivo do blog