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_SheetBeforeDoubleClick(
_         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 punya links 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:=ThisWorkbook.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.


Kirim email ke