MEMBUAT SHEET, MENGHAPUS SHEET, MEMBUAT SHEET KEMBALI

  1. 9 tahun lalu

    Saya ingin bertanya, kondisinya begini :
    Saya punya satu tombol pada sebuah lembar sheet. Tombol tersebut saya beri nama [POST]

    1. Apabila saya klik tombol tersebut akan membuat sebuah sheet baru dengan nama "NEW"
    2. Apabila saya klik tombol tersebut lagi, maka akan menghapus sheet dengan nama "NEW" kemudian akan membuat sheet baru lagi dengan nama "NEW"

    Bagaimana code untuk tombol tersebut. terima kasih

    Saya coba dengan dua cara silahkan dipilih saja mana yang lebih efektif.
    Yang pertama mengecek jika Sheet "New" tidak ada maka akan di buat Sheet baru bernama "New", Jika sudah ada maka Sheet "New" akan di hapus dan membuat lagi Sheet baru bernama "New".

    Sub Button1_Click()
    Set ws = Nothing
    On Error Resume Next
    Set ws = Sheets("New")
    On Error GoTo 0
    
    If ws Is Nothing Then
        Sheets.Add.Name = "New"
        Sheets("New").Move After:=Sheets(4)
    Else
        Application.DisplayAlerts = False
        Sheets("New").Delete
        Sheets.Add.Name = "New"
        Sheets("New").Move After:=Sheets(4)
    End If
    End Sub

    Cara kedua memanfaatkan Error Excel, ketika Sheet "New" di hapus jika Sheet "New" tersebut belum ada maka akan menampilkan pesan error. Jadi Jika ada Error maka akan di buat Sheet baru bernama "New"

    Sub Button2_Click()
    On Error GoTo SB
    Application.DisplayAlerts = False
    Sheets("New").Delete
    
    SB:
    Sheets.Add.Name = "New"
    Sheets("New").Move After:=Sheets(4)
    End Sub

  2. Masdad

    23 Jun 2015 Terverifikasi Jawaban Terpilih Demak + 2.198 Poin

    Saya coba dengan dua cara silahkan dipilih saja mana yang lebih efektif.
    Yang pertama mengecek jika Sheet "New" tidak ada maka akan di buat Sheet baru bernama "New", Jika sudah ada maka Sheet "New" akan di hapus dan membuat lagi Sheet baru bernama "New".

    Sub Button1_Click()
    Set ws = Nothing
    On Error Resume Next
    Set ws = Sheets("New")
    On Error GoTo 0
    
    If ws Is Nothing Then
        Sheets.Add.Name = "New"
        Sheets("New").Move After:=Sheets(4)
    Else
        Application.DisplayAlerts = False
        Sheets("New").Delete
        Sheets.Add.Name = "New"
        Sheets("New").Move After:=Sheets(4)
    End If
    End Sub

    Cara kedua memanfaatkan Error Excel, ketika Sheet "New" di hapus jika Sheet "New" tersebut belum ada maka akan menampilkan pesan error. Jadi Jika ada Error maka akan di buat Sheet baru bernama "New"

    Sub Button2_Click()
    On Error GoTo SB
    Application.DisplayAlerts = False
    Sheets("New").Delete
    
    SB:
    Sheets.Add.Name = "New"
    Sheets("New").Move After:=Sheets(4)
    End Sub

  3. @Masdad Terima kasih mas :D cara pertama yang saya butuhkan. Semoga bermanfaat juga bagi semuanya

  4. 8 tahun lalu

    kalo menghapus sheet dengan form bagaimana?

  5. tghfox

    30 Mei 2016 Terverifikasi Bekasi Barat + 579 Poin
    Di sunting 8 tahun lalu oleh tghfox

    mungkin ini bisa berguna

    'FUNGSI mendeteksi apakah suatu sheet ada atau tidak
    
    Function iCekSheet(byval sNama as string) as integer
    
    for i=1 to sheets.count
      if lcase(sNama) = lcase(sheets(i).name) then
        iCekSheet =1
        exit for
      endif 
    next i
    
    end function

    cara pakai

    sub tesCekSheet
    dim sNamaSheetYgDicari as string
    
    sNamaSheetYgDicari = "New"
    
    if iCekSheet(sNamaSheetYgDicari ) = 1 then
    msgbox "sheet ketemu"
    else
    msgbox "sheet tidak ketemu"
    endif 
    
    end sub
    

  6. 6 tahun lalu

    @Masdad
    @tghfox
    @Caton
    @Fujiansyah92
    @master lainnya...

    1. kalau misalnya sheet baru (NEW) tersebut hendak di rename via userform bagaimana VBA scriptnya???
    2. dan bagaimana jika sheet baru tersebut bisa dibuat lebih dari satu sheet (misal, New1, New2, New3)

    thanks

  7. Caton

    16 Jan 2018 Terverifikasi Indonesia + 20.101 Poin
    Di sunting 6 tahun lalu oleh Caton

    @Vei-Rid ...

    Untuk mengubah nama sheet, gunakan properti Object.Name. Contohnya:

    Sheets("New").Name = "New Name"

    atau:

    Sheet1.Name = "New Sheet"

    atau:

    ActiveSheet.Name = "My Sheet"

    ... bagaimana jika sheet baru tersebut bisa dibuat lebih dari satu sheet (misal, New1, New2, New3) ...

    Maksudnya menyalin sheet baru tersebut? Jika demikian, bisa menggunakan:

    Worksheets("New").Copy After:=Worksheets(Worksheets.Count)
    ActiveSheet.Name = "New 1"

    atau:

    Dim lIdx As Long
        
    For lIdx = 1 To 3
        Worksheets("New").Copy After:=Worksheets(Worksheets.Count)
        ActiveSheet.Name = "New " & lIdx
    Next

    atau

    Dim lIdx As Long
        
    For lIdx = 1 To 3
        Worksheets("New").Copy After:=Worksheets(Worksheets.Count)
        ActiveSheet.Name = "New " & Worksheets.Count
    Next

    Demikian antara lain script yang dapat digunakan... ;)

  8. @Caton

    Untuk mengubah nama sheet, gunakan properti Object.Name.

    Thanks bang, saya coba yah... :)

 

atau Mendaftar untuk ikut berdiskusi!