Page 1 of 1

อยากได้คำสั่งข้ามการทำงานของโปรแกรมในเอ็กเซล

Posted: Tue Oct 16, 2012 9:53 am
by akekorn
สวัสดีครับคุณคนควนและเพื่อนสมาชิกคือผมมีปัญหามาถามครับผมได้เขียนโค๊ดไว้แต่ทุกครั้งที่เปิดไฟด์นี้จะมี msage ถามตามภาพจนครบชีทที่จะลบแต่ผมไม่ต้องการให้ขึ้นถามตามภาพแต่ต้องการให้ลบชีทเลยมีคำสั่งอะไรช่วยไหมครับ

ขอบคุณครับ

Code: Select all

Sub kornake()
Dim i, ii As Integer

Application.ScreenUpdating = False
  Sheets("GROUPDATA").Select
    Sheets("GROUPDATA").Move Before:=Sheets(1)
    ii = Sheets.Count
    i = 2
   
    Do Until Sheets.Count = 1
    a = Sheets(i).Name
    Sheets(a).Select
    ActiveWindow.SelectedSheets.Delete
    Loop
    Call akekorn

End Sub

Re: อยากได้คำสั่งข้ามการทำงานของโปรแกรมในเอ็กเซล

Posted: Tue Oct 16, 2012 10:01 am
by snasui
:D ลองใช้ Application.DisplayAlerts เข้ามาช่วย ดู Link นี้ประกอบครับ viewtopic.php?f=3&t=3430

Re: อยากได้คำสั่งข้ามการทำงานของโปรแกรมในเอ็กเซล

Posted: Tue Oct 16, 2012 10:31 am
by akekorn
ผมลองทำตามแบบข้างล่างแต่ยังถามครับ

Code: Select all

Sub kornake()
Dim i, ii As Integer
Application.DisplayAlerts = False
Application.ScreenUpdating = False
  Sheets("GROUPDATA").Select
    Sheets("GROUPDATA").Move Before:=Sheets(1)
    ii = Sheets.Count
    i = 2
   
    Do Until Sheets.Count = 1
    a = Sheets(i).Name
    Sheets(a).Select
    ActiveWindow.SelectedSheets.Delete
    Loop
    Call akekorn
Application.DisplayAlerts = True

End Sub

Re: อยากได้คำสั่งข้ามการทำงานของโปรแกรมในเอ็กเซล

Posted: Tue Oct 16, 2012 10:39 am
by snasui
:D กรณีต้องการ Loop เพื่อลบชีทอื่น ๆ ที่ไม่ได้ชือ GROUPDATA ลองตาม Code ด้านล่างครับ

Code: Select all

Sub Test()
    Dim sh As Worksheet
    Application.DisplayAlerts = False
    For Each sh In Worksheets
        If sh.Name <> "GROUPDATA" Then
            sh.Delete
        End If
    Next sh
    Application.DisplayAlerts = True
End Sub
หากยังไม่ได้ ลองส่งตัวอย่างไฟล์นั้นมาดูกันครับ

Re: อยากได้คำสั่งข้ามการทำงานของโปรแกรมในเอ็กเซล

Posted: Tue Oct 16, 2012 11:23 am
by akekorn
ไฟด์ตัวอย่างครับ

Re: อยากได้คำสั่งข้ามการทำงานของโปรแกรมในเอ็กเซล

Posted: Tue Oct 16, 2012 11:49 am
by snasui
:D ปรับ Code ที่ AUTO_OPEN เป็นตามด้านล่างครับ

Code: Select all

Sub AUTO_OPEN()
    Dim i, ii As Integer
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    Sheets("GROUPDATA").Select
    Sheets("GROUPDATA").Move Before:=Sheets(1)
    ii = Sheets.Count
    i = 2
    Do Until Sheets.Count = 1
        a = Sheets(i).Name
        Sheets(a).Select
        ActiveWindow.SelectedSheets.Delete
    Loop
    Call akekorn
    Application.DisplayAlerts = True
End Sub

Re: อยากได้คำสั่งข้ามการทำงานของโปรแกรมในเอ็กเซล

Posted: Tue Oct 16, 2012 12:32 pm
by akekorn
ทำได้แล้วครับขอบคุณคุณคนควนมากๆครับผม