Dear Miss Siti Vi, Membaca komen mBak Siti atas VBA yang saya susun, saya jadi ngakak .... wk wk wk wk wk ....kok logika saya jadi ngaco ya ...... Mbak Siti kok pinter banget sih, VBA nya yang disusun bagus.. bagus ... eh cantik - cantik wong cewek je.... Trus kalau sudah dikirim ke kita lagi, setelah dikoreksi orang lain, gimana ya VBA nya untuk meng attach ke file awal supaya kerja kita nggak ribet? Wah ngasih PR terus nih ........ maaf ya mBak ...... ngomong2 Ibu saya nama depannya juga Siti lho ..... maaf ya nggak ngeledek lho ... ampun-ampun .... jangan marah. Best regards Herry Sutjipto
________________________________ From: siti_vi <setiyowati.d...@gmail.com> To: belajar-excel@yahoogroups.com Sent: Friday, January 29, 2010 9:50:48 Subject: [belajar-excel] Re: Copy sheet ke Workbook baru dengan nama spt sheet tsb bgmana kalo kita mudahkan begini: 1. (manual oleh user) pilih salah satu worksheet dlm workbook tsb dengan cara mengaktifkannnya 2. (manual oleh user) Klik-Ganda Cell A1 pada sheet yg sudah dipilih ( ini maksudnya untuk menjalankan makro kita) 3. (otomatis dikerjakan VBA) Ya makro nya langsung "jalan" dan "kerja sampai selesai" dong... Karena dengan diaktifkan sebuah sheet tadi, tanpa perlu tanya-tanya lagi dia sudah tahu SHEET yg akan di copy ke workbook lain, dan sudah tahu pula WORKBOOK LAIN itu akan di SaveAs dengan NAMA APA. '-- module Thisworkbook -- Private Sub Workbook_SheetBefor eDoubleClick( _ ByVal Sh As Object, _ ByVal Target As Range, Cancel As Boolean) If Target.Cells. Count = 1 Then If Target = Cells(1) Then Call SheetToNewBook(Sh) End If Cancel = True End Sub '-- module umum (module: level aplikasi) -- Sub SheetToNewBook( TheSheet As Worksheet) '----------- --------- --------- --------- - ' membuat salah satu sheet pilihan user ' menjadi workbook baru ' sheet lama tidak didelete ' siti Vi // bluewater, 29 jan 2010 '----------- --------- --------- --------- Dim myPath As String myPath = ThisWorkbook. Path & "\" TheSheet.Copy ActiveWorkbook. SaveAs _ Filename:=myPath & TheSheet.Name & ".xls" ThisWorkbook. Activate End Sub Perintah ObjectWorkSheet. Copy menghasilkan ObjectWorksheet tsb dicopy ke WorkbookBaru jadi kita tidak perlu meng ADD workbook-baru lebih dulu Kalau diinginkan sheet di workbook LAMA langsung dihapus (karena sudah dipindah ke workbook baru); perintahnya TheSheet.Move Ada hal yg perlu diingat yaitu - apakah di folder (dimana workbook yg memuat makro ini berada) sudah ada workbook yg namanya SAMA debgab yg akan dibuat oleh makro. - apakah pada sheet yg ditunjuk ada formula yg me-RUJUK (Link) ke sheet lain dlm workbook 'awal' (jika ada) : workbook baru akan punyalinks ke workbook anda. mengenai makro yg ditulis pak herry sutjipto SelectedWorkbook mungkin yg dimaksud = ActiveWorkbook tetapi ObjecWorkBook.NAME itu adalah property yg READ ONLY tidak bisa kok tiba-tiba mau diganti dengan nama baru seperti itu Bisa nya = di SAVE-AS dengan nama baru. Atau kalau mau di RENAME, workbook-nya kan harus diTUTUP dulu. SelectedSheets adalah object collection (kumpulan dari banyak object) yaitu sheet-sheet yg sedang diselect secara bersamaan (group) Apakah memang akan ada pen-DELETED- an banyak sheet dan kapan mereka di select secara bersamaan text panduan dlm input box "Masukkan Nama Workbook Baru dengan memilih sheet dalam workbook ini" Panduan ini mendua arti; lebih tegas bila kata "MEMILIH" diganti dengan "MENGETIKKAN" tips: sebaiknya sebelum menulis makro kita memperhatikan apa saja yg terjadi jika hal tsb dikerjakan secara manual... Prosedur (II) di module-umum tsb diatas dapat diringkas menjadi spt ini Sub SheetToNewBook( CurSht As Worksheet) CurSht.Copy ActiveWorkbook. SaveAs Filename:=ThisWorkb ook.Path & "\" & CurSht.Name & ".xls" ThisWorkbook. Activate End Sub --- In belajar-excel@ yahoogroups. com, Herry Sutjipto <herry...@...> wrote: > > Dear All, > > Saya punya > file excel yang jumlah sheetnya sangat banyak sekali, sehingga file tsb > ukurannya sangat besar. > Salah satu > sheet dalam file tersebut akan saya kirim ke tempat lain dengan sarana email, > untuk diedit oleh orang lain. > Sheet > tersebut akan saya copy ke workbook baru dengan nama seperti nama sheet > tersebut, sehingga file yang saya kirim menjadi kecil ukurannya. > Saya sudah > mencoba membuat VBA nya, tetapi kok nggak jalan-2 ….. maklum sudah pikun > …… > Mohon > bantuan XL-Mania-er untujk memberikan pencerahan kepada saya. > VBA yang > sudah saya buat adalah sebagai berikut: > > Sub Macro1() > ' > ' Macro1 Macro > ' > Dim wbAwal As String, wbBaru As String > Dim shtAwal As String, shtBaru As String > wbAwal = ActiveWorkbook. Name > wbBaru = InputBox(Prompt: ="Masukkan Nama > Workbook Baru dengan memilih sheet dalam workbook ini", _ > > Title:="Membuat WorkBook Baru") > shtAwal = wbBaru > wbBaru = wbBaru + ".xls" > Workbooks.Add > SelectedWorkbook. Name = wbBaru > Workbooks(wbAwal) .Activate > Sheets(shtAwal) .Select > Sheets(shtAwal) .Copy > After:=Workbooks( wbBaru).Sheets( 1) > Sheets("Sheet1" ).Select > SelectedSheets. Delete > End Sub > > Terima > kasih. > > Best > regards. Get your preferred Email name! Now you can @ymail.com and @rocketmail.com. http://mail.promotions..yahoo.com/newdomains/aa/