Page 1 of 1

เช็คsheet name ก่อนทำการรันVBA

Posted: Tue Oct 08, 2019 10:19 am
by eyepop99
ถ้าต้องการเช็ค sheetname ก่อนจะทำการรันVBA ในแต่ละ workbook ใดๆจะต้องใช้คำสั่งอย่างไรครับ

ถ้ามีชื่อsheet Report และ Summary ให้ Run VBA ด้านล่างที่เขียนไว้
แต่ถ้า sheet นั้นๆ ไม่มีให้ปิด workbook และ run workbook ตัวถัดไป
*note
แต่ละ workbook มีจำนวนชีทไม่เท่ากันครับ

Code: Select all

Sub mergefile()

Dim wball As Range, wb As Range
Dim path As String
Dim f_name As String
Dim gsd, mnth As String
Dim i As Integer

With Sheets("filename")
Set wball = .Range("A1", .Range("A" & Rows.Count).End(xlUp))
f_name = .Range("E7").Value
path = .Range("E2").Value
End With

 For Each wb In wball
    Workbooks.Open Filename:= _
        path & wb.Value
        
'ต้องการเช็คว่า workbook ที่เปิดมามีชีท Report และ Summary หรือไม่-----------
'ถ้าไม่ ให้ปิด workbookนั้นๆ และ เปิด workbook ตัวถัดไป

	



-------------------------------------------------------------------------------------
'Run function--------------------------

 Windows(wb.Value).Activate
     Sheets("Summary").Select
    Range("A3:H18").Select
     Selection.Copy
    Windows(f_name).Activate
    Sheets("Masterfile").Range("A" & Rows.Count).End(xlUp).Offset(1, 4).Select
   'paste
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
   Windows(wb.Value).Close 
 --------------------------------------------
 
 Next wb

MsgBox ("DONE")
        
End Sub

Re: เช็คsheet name ก่อนทำการรันVBA

Posted: Tue Oct 08, 2019 7:33 pm
by eyepop99
ทำได้แล้วครับ ขอบคุนครับ