Tôi đang làm 1 file copy ngân sách ra báo cáo hàng tháng, tuy nhiên khi tạo 1 command button lệnh và đặt vào thuộc tính click đoạn chương trình và chạy thì bị lỗi như sau:
Tuy nhiên vẫn đoạn chương trình này mà tôi chạy bằng Macro (Record 1 cái macro rồi paste y chang vào) thì lại không bị lỗi gì cả, chạy chuẩn.
Đoạn code cụ thể như sau:
Các bác có thể giúp tôi tại sao lại như vậy không? (Tại sao chạy bằng lệnh click thì bị lỗi mà macro thì lại không bị?), sửa nó thế nào ạ?
Tuy nhiên vẫn đoạn chương trình này mà tôi chạy bằng Macro (Record 1 cái macro rồi paste y chang vào) thì lại không bị lỗi gì cả, chạy chuẩn.
Đoạn code cụ thể như sau:
Private Sub CopyBudget_Click()
Dim sheet_name As String
Dim month As Integer
Dim month_num As String
month = InputBox("Please enter month number:", "Enter month")
Select Case month
Case 1
month_num = "H"
Case 2
month_num = "I"
Case 3
month_num = "J"
Case 4
month_num = "K"
Case 5
month_num = "L"
Case 6
month_num = "M"
Case 7
month_num = "N"
Case 8
month_num = "O"
Case 9
month_num = "P"
Case 10
month_num = "Q"
Case 11
month_num = "R"
Case 12
month_num = "S"
End Select
Dim i As Integer
For i = 1 To 13
Select Case i
Case 1
sheet_name = "FIN"
Case 2
sheet_name = "ASSLY."
Case 2
sheet_name = "PPC & stores"
Case 3
sheet_name = "PURCHASE & RQC"
Case 4
sheet_name = "PART Prod."
Case 5
sheet_name = "DIE CASTING"
Case 6
sheet_name = "MAINT"
Case 7
sheet_name = "OPERATIONS"
Case 8
sheet_name = "CPR"
Case 9
sheet_name = "Marketing"
Case 10
sheet_name = "HR & GA"
Case 11
sheet_name = "IT"
Case 12
sheet_name = "tool-room"
Case 13
sheet_name = "QA"
End Select
'Copy Personal Fixed cost
Windows("Budget2010.xlsx").Activate
Sheets(sheet_name).Range(month_num + "93:" + month_num + "105").Select
Selection.Copy
Windows("MIS.xls").Activate
Sheets(sheet_name).Select
Range("E92:E104").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("F92:F105").Select
Selection.ClearContents
Range("E98:E104").Select
Selection.Copy
Range("E99").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("E98").Select
Selection.ClearContents
Next i
End Sub
Các bác có thể giúp tôi tại sao lại như vậy không? (Tại sao chạy bằng lệnh click thì bị lỗi mà macro thì lại không bị?), sửa nó thế nào ạ?