Xử lý vướng mắc không ghép được file bằng VBA do tên sheet dài

Liên hệ QC

ljnhnhjm3105

Thành viên mới
Tham gia
27/6/21
Bài viết
13
Được thích
2
Em chào các anh các chị, em là thành viên mới, em mới biết về cách ghép file excel bằng code VBA. Em có nhiều file excel và mỗi file có một sheet có tên "Danh sách hưởng TCTN". Do tên sheet dài nên khi em ghép nhiều file đều bị báo lỗi không ghép được ạ. Nếu giờ đổi tên sheet thủ công thì mất rất nhiều thời gian vì mỗi tháng em có 60-100 file. Em phải ghép cho 12 tháng. Em nhờ anh chị chỉ giúp em cách làm với ạ. Em cảm ơn nhiều ạ!
 
Em chào các anh các chị, em là thành viên mới, em mới biết về cách ghép file excel bằng code VBA. Em có nhiều file excel và mỗi file có một sheet có tên "Danh sách hưởng TCTN". Do tên sheet dài nên khi em ghép nhiều file đều bị báo lỗi không ghép được ạ. Nếu giờ đổi tên sheet thủ công thì mất rất nhiều thời gian vì mỗi tháng em có 60-100 file. Em phải ghép cho 12 tháng. Em nhờ anh chị chỉ giúp em cách làm với ạ. Em cảm ơn nhiều ạ!
Duyệt từ sheets(1) tới sheet cuối, dùng toán tử Like: nếu tên sheet Like "Danh s?ch h??ng TCTN" thì
 
Upvote 0
Chưa test

....
for i=1 to sheets.count
if sheets(i).name Like "Danh s?ch h??ng TCTN" then
....
end if
next i
Code e đang dùng là code sau ạ, ý anh là e chỉnh sửa nội dung đấy trong code e đang dùng phải ko ạ? (thật sự e mới nên hỏi sẽ bị ngu ngu í ạ, a thông cảm ạ :( )

Sub GopFileExcel()

Dim FilesToOpen

Dim x As Integer

On Error GoTo ErrHandler

Application.ScreenUpdating = False

FilesToOpen = Application.GetOpenFilename _

(FileFilter:="Microsoft Excel Files (*.xls), *.xls", MultiSelect:=True, Title:="Files to Merge")

If TypeName(FilesToOpen) = "Boolean" Then

MsgBox "No Files were selected"

GoTo ExitHandler

End If

x = 1

While x <= UBound(FilesToOpen)

Workbooks.Open Filename:=FilesToOpen(x)

Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)

x = x + 1

Wend
ExitHandler:

Application.ScreenUpdating = True

Exit Sub
ErrHandler:

MsgBox Err.Description

Resume ExitHandler

End Sub
 
Upvote 0
Code e đang dùng là code sau ạ, ý anh là e chỉnh sửa nội dung đấy trong code e đang dùng phải ko ạ? (thật sự e mới nên hỏi sẽ bị ngu ngu í ạ, a thông cảm ạ :( )

Sub GopFileExcel()

Dim FilesToOpen

Dim x As Integer

On Error GoTo ErrHandler

Application.ScreenUpdating = False

FilesToOpen = Application.GetOpenFilename _

(FileFilter:="Microsoft Excel Files (*.xls), *.xls", MultiSelect:=True, Title:="Files to Merge")

If TypeName(FilesToOpen) = "Boolean" Then

MsgBox "No Files were selected"

GoTo ExitHandler

End If

x = 1

While x <= UBound(FilesToOpen)

Workbooks.Open Filename:=FilesToOpen(x)

Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)

x = x + 1

Wend
ExitHandler:

Application.ScreenUpdating = True

Exit Sub
ErrHandler:

MsgBox Err.Description

Resume ExitHandler

End Sub
Code trên liên quan gì tới sheet "Danh sách hưởng TCTN" ?
 
Upvote 0
Code trên liên quan gì tới sheet "Danh sách hưởng TCTN" ?
Dạ khi em ghép file thì nó cứ báo không ghép được, nhưng khi em đổi tên sheet thành số 1, 2, 3 thì các file ghép được với nhau luôn ạ :(
Bài đã được tự động gộp:

Các file e cần ghép kiểu như này anh ạ. 50-100 file như này. Tên sheet khi em đổi thành số 1, 2... thì lại ghép được các file này với nhau
 
Upvote 0
Dạ khi em ghép file thì nó cứ báo không ghép được, nhưng khi em đổi tên sheet thành số 1, 2, 3 thì các file ghép được với nhau luôn ạ :(
Bài đã được tự động gộp:

Các file e cần ghép kiểu như này anh ạ. 50-100 file như này. Tên sheet khi em đổi thành số 1, 2... thì lại ghép được các file này với nhau
Lệnh
Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
làm gì vậy?
 
Upvote 0
Lệnh
Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
làm gì vậy?
thật ra thì em cũng google về ghép các file excel lại với nhau, thấy có code này nên e dùng chứ em ko hiểu bản chất anh ạ. Với các file khác thì em ghép ok. Nhưng đến mảng file này thì e không ghép được. Em đổi tên sheet đi thì lại ghép được. Nên em cũng đang không biết làm thế nào ạ. Vì một tháng của em có 60-100 file cần ghép. Mà em cần ghép 12 tháng lại với nhau. Anh có code nào hay cách nào khoonbg giúp em với ạ :(
 
Upvote 0
thật ra thì em cũng google về ghép các file excel lại với nhau, thấy có code này nên e dùng chứ em ko hiểu bản chất anh ạ. Với các file khác thì em ghép ok. Nhưng đến mảng file này thì e không ghép được. Em đổi tên sheet đi thì lại ghép được. Nên em cũng đang không biết làm thế nào ạ. Vì một tháng của em có 60-100 file cần ghép. Mà em cần ghép 12 tháng lại với nhau. Anh có code nào hay cách nào khoonbg giúp em với ạ :(
Anh ơi, anh cho em xin số điện thoại em add zalo hỏi anh được ko ạ :(
 
Upvote 0
Web KT

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

Back
Top Bottom