master90x
Thành viên mới
- Tham gia
- 7/1/13
- Bài viết
- 17
- Được thích
- 0
- Giới tính
- Nam
- Nghề nghiệp
- Bách Nghệ
Dear All,
Hiện tại e đang có code này để cóp nhặt thông tin từ các file rồi tổng hợp lại vào 1 sheet. Tuy nhiên vấn đề là khi duyệt các file có tên tiếng việt thì VBA báo lỗi 1004 ko duyệt đc file. E đã dùng On Error GoTo rồi Resume Next để thử nhưng vẫn ko được. VBA vẫn hiển thị lỗi mà không bỏ qua. Các bác giúp e vs.
Thanks các bác
Hiện tại e đang có code này để cóp nhặt thông tin từ các file rồi tổng hợp lại vào 1 sheet. Tuy nhiên vấn đề là khi duyệt các file có tên tiếng việt thì VBA báo lỗi 1004 ko duyệt đc file. E đã dùng On Error GoTo rồi Resume Next để thử nhưng vẫn ko được. VBA vẫn hiển thị lỗi mà không bỏ qua. Các bác giúp e vs.
Thanks các bác
Mã:
Sub copy_costsheet()
Dim n, m, chi_so, lr, chiso_lechcot, chiso_saiten As Long
Dim expected_price As Variant
Dim path, customer_name, customer_code, part_no As String
path = Sheets("Main").Cells(5, "A").Value
Filename = Dir(path & "*.xls*")
Dim ws As Worksheet
m = 0
n = 1
chiso_lechcot = 2
chiso_saiten = 2
Do While Filename <> ""
On Error Resume Next
Workbooks.Open Filename:=path & Filename, ReadOnly:=True, UpdateLinks:=0
Sheets("Cost sheet").Select
customer_code = Sheets("Cost sheet").Cells(3, "D").Value
part_no = Sheets("Cost sheet").Cells(4, "D").Value
customer_name = Sheets("Cost sheet").Cells(6, "D").Value
Application.Workbooks("CopyCostSheet-v2.xlsm").Activate
Sheets("Data").Select
'' Copy Ten Ma Hang CostSheet
Sheets("Data").Activate
n = n + m + 1
Application.Workbooks("CopyCostSheet-v2.xlsm").Activate
Sheets("Data").Cells(n, "A").Value = "Customer Code: "
Sheets("Data").Cells(n + 1, "A").Value = "Part No: "
Sheets("Data").Cells(n + 2, "A").Value = "Customer Name: "
Sheets("Data").Cells(n + 3, "A").Value = "Selling Price: "
Sheets("Data").Cells(n, "B").Value = customer_code
Sheets("Data").Cells(n + 1, "B").Value = part_no
Sheets("Data").Cells(n + 2, "B").Value = customer_name
'' Copy CostSheet
chi_so = 0
Application.Workbooks(Filename).Activate
Application.Workbooks("CopyCostSheet-v2.xlsm").Sheets("Data").Cells(n + 4, "A").Value = Filename
For m = 10 To 250
If Sheets("Cost sheet").Cells(m, "D").Value = "Total raw material cost" Then
chi_so = m
End If
If Sheets("Cost sheet").Cells(m, "D").Value = "Expected price" Or Sheets("Cost sheet").Cells(m, "D").Value = "Selling price" Or Sheets("Cost sheet").Cells(m, "D").Value = "Selling Price" Or Sheets("Cost sheet").Cells(m, "D").Value = "selling price" Or Sheets("Cost sheet").Cells(m, "D").Value = "selling Price" Then
expected_price = Sheets(2).Cells(m, "I").Value
End If
Next m
Sheets("Cost sheet").Activate
If chi_so = 0 Then
Application.Workbooks("CopyCostSheet-v2.xlsm").Activate
Sheets("Sheet_Loi").Cells(chiso_lechcot, "A").Value = Filename
chiso_lechcot = chiso_lechcot + 1
Workbooks(Filename).Close Savechanges:=False
Filename = Dir()
Else
Range(Cells(10, "A"), Cells(chi_so, "I")).Select
Selection.Copy
Application.Workbooks("CopyCostSheet-v2.xlsm").Activate
Sheets("Data").Cells(n, "D").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Data").Cells(n + 3, "B").Value = expected_price
m = chi_so + 2 - 10
Application.DisplayAlerts = False
Workbooks(Filename).Close Savechanges:=False
Filename = Dir()
End If
GoTo ketthuc
skip1:
'' Dien Thong Tin Sheet Bi Sai Ten
Application.Workbooks("CopyCostSheet-v2.xlsm").Activate
Sheets("Sheet_Loi").Cells(chiso_saiten, "B").Value = Filename
chiso_saiten = chiso_saiten + 1
ketthuc:
Loop
End Sub
Lần chỉnh sửa cuối: