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

ลองใช้ 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

กรณีต้องการ 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

ปรับ 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
ทำได้แล้วครับขอบคุณคุณคนควนมากๆครับผม