Code Close file (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

hungdiep85

Thành viên thường trực
Tham gia
1/6/09
Bài viết
218
Được thích
23
Giới tính
Nam
Em Chào Anh Chị Trên GPE

Em gặp 1 vấn đề là khi em chạy code, nếu chạy 1 file thì không sao, nhưng nếu chọn 2 file chạy cùng lúc thì hiện thông báo ở file thứ 2, em phải bấm Yes mới chạy tiếp được.
có cách nào code tự bấm Yes rồi chạy tiếp không ạ, Excel 2016

Em xin cảm ơn

Sub TEST()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error GoTo ERR
Dim i As Long, fPath As String, FS
With Application
.ScreenUpdating = False: .Calculation = xlCalculationManual: .DisplayAlerts = False: .EnableEvents = False
End With
Set FS = CreateObject("Scripting.FileSystemObject")
With Application.FileDialog(1)
.InitialFileName = ThisWorkbook.Path
.Title = ""
.FilterIndex = 3
.AllowMultiSelect = True: .Show
If .SelectedItems.Count = 0 Then Exit Sub
For i = 1 To .SelectedItems.Count

With Workbooks.Open(.SelectedItems(i), Password:="")
Sheet1.Select
Range("A1").FormulaR1C1 = "='Sheet2'!R[1]C[5]"
Range("A1:S100").Copy
ActiveWorkbook.Close savechanges:=True
End With

With Application
.ScreenUpdating = True: .Calculation = xlCalculationAutomatic: .DisplayAlerts = True: .EnableEvents = True
End With

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheet3.Select
Range("B5").Select
ActiveSheet.Paste
Range("AA6:AM7").Copy

Sheet2.Select
Sheet2.Range("L1000000").End(xlUp)(2, 1).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Application.DisplayAlerts = True
Application.ScreenUpdating = True

Next
End With
Application.DisplayAlerts = True
Application.ScreenUpdating = True
ERR:
End Sub
 

File đính kèm

  • Capture.JPG
    Capture.JPG
    28.7 KB · Đọc: 5
Lần chỉnh sửa cuối:
Chài! Một mớ hỗn độn không à!! Muốn bỏ cảnh báo thì thêm câu này vào đầu code Application.DisplayAlerts = False. Code của bạn trung nhiều quá, cái đoạn with application... chính là cái đã có ở trên rồi: application.screenupdating chính là nó đấy. Với lại, thay vì lệnh copy thì cho 2 vùng giá trị bằng nhau luôn có hơn không: range().value=range().value. Bỏ cái đoạn sheet1.select đi, cho nó chạy thẳng luôn sheet1.Range().... gì gì đó.
 
Upvote 0
Chài! Một mớ hỗn độn không à!! Muốn bỏ cảnh báo thì thêm câu này vào đầu code Application.DisplayAlerts = False. Code của bạn trung nhiều quá, cái đoạn with application... chính là cái đã có ở trên rồi: application.screenupdating chính là nó đấy. Với lại, thay vì lệnh copy thì cho 2 vùng giá trị bằng nhau luôn có hơn không: range().value=range().value. Bỏ cái đoạn sheet1.select đi, cho nó chạy thẳng luôn sheet1.Range().... gì gì đó.

Em cảm ơn ah
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom