Lỗi vòng lặp For Move or Copy sheets

Liên hệ QC

Vàng A Súp

Thành viên hoạt động
Tham gia
21/12/19
Bài viết
149
Được thích
80
Em chào các bác/ anh/ chị
Em đang tập viết VBA nên có gì không biết mong các bác/ anh/ chị chỉ bảo giúp ạ
Em muốn coppy các sheet trong file excel của em sang 1 file excel khác với thứ tự
1. Hợp đồng số 1
2. Phụ lục Hợp đồng số 1
3. Nghiệm thu số 1
4. Phụ Lục nghiệm thu số 1
5. Nghiệm thu Phân dẫn số 1
6. Phụ lục nghiệm thu Phân dẫn số 1
........từ số 1 đến số 14 ( hoặc hơn )
Cuối cùng là tổng hợp
Em thử làm 1 code nhưng khi xuất ra thì bị lỗi
- Thứ tự sheet xuất ra lại xuất hiện trái qua phải từ 14 đến 1 ( em muốn từ bộ số 1 đến 14 )
- Hợp đồng thực hiện được vòng lặp theo Spin Button nhưng từ những sheet khác ( từ số 2. đến 6. ) không lặp lại
Mong nhận được sự chỉ bảo, giúp đỡ từ các quý bác/ anh/ chị
Em xin chân thành cảm ơn
Sub Macro3()
'
' Macro3 Macro
' Vong lap
Workbooks.Add
ChDir "D:\"
ActiveWorkbook.SaveAs Filename:="D:\giai_phap_excell.xlsx", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False

Dim i As Long
Dim tu As Long, den As Long
Dim wb As Workbook
Dim sh As Worksheet
Set wb = ThisWorkbook
Set sh = wb.Sheets("Hop_dong")
tu = sh.Range("Hop_dong!O2")
den = sh.Range("Hop_dong!O5")

For i = tu To den Step 1
sh.Range("Hop_dong!O2") = i

' Xuat hop dong
Windows("Tap viet VBA.xlsm").Activate
Sheets("Hop_dong").Select
ActiveSheet.Unprotect "cc"
Sheets("Hop_dong").Copy After:=Workbooks("giai_phap_excell.xlsx").Sheets(1)
Windows("Tap viet VBA.xlsm").Activate

' Xuat phu luc hop dong

Sheets("Phu_Luc HD").Select
ActiveSheet.Unprotect "cc"
Sheets("Phu_Luc HD").Copy After:=Workbooks("giai_phap_excell.xlsx").Sheets(2)
Windows("Tap viet VBA.xlsm").Activate

' Xuat nghiem thu KL

Sheets("Nghiem_Thu").Select
ActiveSheet.Unprotect "cc"
Sheets("Nghiem_Thu").Copy After:=Workbooks("giai_phap_excell.xlsx").Sheets(3)
Windows("Tap viet VBA.xlsm").Activate

' Xuat phu luc nghiem thu KL

Sheets("Phu_Luc NT").Select
ActiveSheet.Unprotect "cc"
Sheets("Phu_Luc NT").Copy After:=Workbooks("giai_phap_excell.xlsx").Sheets(4)
Windows("Tap viet VBA.xlsm").Activate


' Xuat nghiem thu DD

Sheets("Phan_Dan").Select
ActiveSheet.Unprotect "cc"
Sheets("Phan_Dan").Copy After:=Workbooks("giai_phap_excell.xlsx").Sheets(5)
Windows("Tap viet VBA.xlsm").Activate

' Xuat phu luc nghiem thu DD

Sheets("Phu_Luc PD").Select
ActiveSheet.Unprotect "cc"
Sheets("Phu_Luc PD").Copy After:=Workbooks("giai_phap_excell.xlsx").Sheets(6)
Windows("Tap viet VBA.xlsm").Activate

Next i

' Xuat tong hop

Sheets("tong hop toan xa").Select
Sheets("tong hop toan xa").Copy After:=Workbooks("giai_phap_excell.xlsx").Sheets(7)
Windows("Tap viet VBA.xlsm").Activate

' Xuat tong hop chung tu

Sheets("DN").Select
Sheets("DN").Copy After:=Workbooks("giai_phap_excell.xlsx").Sheets(8)
Windows("Tap viet VBA.xlsm").Activate

' Xoa sheet 1

Windows("giai_phap_excell.xlsx").Activate
Sheets("Sheet1").Select
ActiveWindow.SelectedSheets.Delete
End Sub
 

File đính kèm

  • Tap viet VBA.xlsm
    326.2 KB · Đọc: 9
Upvote 0
Bây giờ vào việc nhé, cụ thể là thế nào đây.
Dạ cụ thể là như này ạ :
Em muốn coppy các sheet trong file excel của em sang 1 file excel khác với thứ tự
1. Hợp đồng số 1
2. Phụ lục Hợp đồng số 1
3. Nghiệm thu số 1
4. Phụ Lục nghiệm thu số 1
5. Nghiệm thu Phân dẫn số 1
6. Phụ lục nghiệm thu Phân dẫn số 1
........từ số 1 đến số 14 ( hoặc hơn )
Cuối cùng là tổng hợp
Em thử làm 1 code nhưng khi xuất ra thì bị lỗi
- Thứ tự sheet xuất ra lại xuất hiện trái qua phải từ 14 đến 1 ( em muốn từ bộ số 1 đến 14 )
- Hợp đồng thực hiện được vòng lặp theo Spin Button nhưng từ những sheet khác ( từ số 2. đến 6. ) không lặp lại
( Chỗ unprotect " cc " là em phòng sau này em có lỡ khoá sheet thì lúc xuất vẫn xuất được ạ )
File excel em đã up ở trên bác ạ
 
Upvote 0
- Thứ tự sheet xuất ra lại xuất hiện trái qua phải từ 14 đến 1 ( em muốn từ bộ số 1 đến 14 )
Từ trái qua phải là từ 1 tới ... chứ không phải là từ ... xuống 1

Mà thôi, nếu muốn theo thứ tự ngược lại với hiện có thì thay TẤT CẢ After thành Before.
- Hợp đồng thực hiện được vòng lặp theo Spin Button nhưng từ những sheet khác ( từ số 2. đến 6. ) không lặp lại
Không hiểu bạn nói gì.
 
Upvote 0
Dạ cụ thể là như này ạ :
Em muốn coppy các sheet trong file excel của em sang 1 file excel khác với thứ tự
1. Hợp đồng số 1
2. Phụ lục Hợp đồng số 1
3. Nghiệm thu số 1
4. Phụ Lục nghiệm thu số 1
5. Nghiệm thu Phân dẫn số 1
6. Phụ lục nghiệm thu Phân dẫn số 1
........từ số 1 đến số 14 ( hoặc hơn )
Cuối cùng là tổng hợp
Em thử làm 1 code nhưng khi xuất ra thì bị lỗi
- Thứ tự sheet xuất ra lại xuất hiện trái qua phải từ 14 đến 1 ( em muốn từ bộ số 1 đến 14 )
- Hợp đồng thực hiện được vòng lặp theo Spin Button nhưng từ những sheet khác ( từ số 2. đến 6. ) không lặp lại
( Chỗ unprotect " cc " là em phòng sau này em có lỡ khoá sheet thì lúc xuất vẫn xuất được ạ )
Mình đâu có thấy một số tên sheets mà bạn nêu trên đây, ví dụ: Hợp đồng số 1...
 
Upvote 0
Từ trái qua phải là từ 1 tới ... chứ không phải là từ ... xuống 1

Mà thôi, nếu muốn theo thứ tự ngược lại với hiện có thì thay TẤT CẢ After thành Before.

Không hiểu bạn nói gì.
Hơi trừu tượng tý vì em cũng gà nên cũng không biết nói như nào ý ạ. Bác giúp em tải file em up ở trên về xem phát hiểu luôn ạ. Bác giúp em với nhé
Bài đã được tự động gộp:

Mình đâu có thấy một số tên sheets mà bạn nêu trên đây, ví dụ: Hợp đồng số 1...
À dạ ý em là hợp đồng của em có 14 bộ. Em dùng spiner để làm ý ạ. Hợp đồng số 1 là hợp đồng của spiner 1 .( Khi O2=1) rồi từ vòng lặp sau O2=2....
 
Upvote 0
À dạ ý em là hợp đồng của em có 14 bộ. Em dùng spiner để làm ý ạ. Hợp đồng số 1 là hợp đồng của spiner 1 .( Khi O2=1) rồi từ vòng lặp sau O2=2....
Vậy là 1 sheet nhưng xuất ra 14 lần, mỗi lần là tăng một số hợp đồng hay thế nào nhỉ. Có lẽ bạn nên làm thủ công một file mẫu thể hiện kết quả mong muốn cho dễ hình dung.
 
Upvote 0
Hơi trừu tượng tý vì em cũng gà nên cũng không biết nói như nào ý ạ. Bác giúp em tải file em up ở trên về xem phát hiểu luôn ạ.
Tôi xem hôm qua rồi bạn ạ. Chẳng qua là hôm qua tôi không muốn trả lời thôi. Vì bạn viết là muốn copy theo thứ tự
1. Hợp đồng số 1
2. Phụ lục Hợp đồng số 1
3. Nghiệm thu số 1
4. Phụ Lục nghiệm thu số 1
5. Nghiệm thu Phân dẫn số 1
6. Phụ lục nghiệm thu Phân dẫn số 1

mà code đã làm đúng y như thế rồi mà bạn lại kêu ca. Vì thế tôi không hiểu và không muốn trả lời.

Lần sau khi mô tả thì dùng tên y hệt như trong tập tin. Trong tập tin có vd. sheet Hop_dong chứ là gì có sheet Hợp đồng số 1 hay Hợp đồng đâu mà lại mô tả như thế.
 
Upvote 0
Vậy là 1 sheet nhưng xuất ra 14 lần hay thế nào nhỉ. Có lẽ bạn nên làm thủ công một file mẫu thể hiện kết quả mong muốn cho dễ hình dung.
À dạ vâng ạ. Bác chờ em chút nhé. Em bón cơm nốt cho 2 đứa trẻ xong em làm luôn ạ. Hì hì
Bài đã được tự động gộp:

Tôi xem hôm qua rồi bạn ạ. Chẳng qua là hôm qua tôi không muốn trả lời thôi. Vì bạ viết là muốn copy theo thứ tự
1. Hợp đồng số 1
2. Phụ lục Hợp đồng số 1
3. Nghiệm thu số 1
4. Phụ Lục nghiệm thu số 1
5. Nghiệm thu Phân dẫn số 1
6. Phụ lục nghiệm thu Phân dẫn số 1

mà code đã làm đúng y như thế rồi mà bạn lại kêu ca. Vì thế tôi không hiểu và không muốn trả lời.

Lần sau khi mô tả thì dùng tên y hệt như trong tập tin. Trong tập tin có vd. sheet Hop_dong chứ là gì có sheet Hợp đồng số 1 hay Hợp đồng đâu mà lại mô tả như thế.
Hì . Thế em mới nói : người khôn tả cảnh rất hay. Ít khôn tả chó lại quay sang gà. Hì hì.
 
Upvote 0
Hì . Thế em mới nói : người khôn tả cảnh rất hay. Ít khôn tả chó lại quay sang gà. Hì hì.
Khôn gì ở đây? Cứ nhìn thấy trong tập tin có thế nào thì viết y như vậy thôi. Tự dưng lại bịa ra, lấy tên từ trên trời.
 
Upvote 0
Vậy là 1 sheet nhưng xuất ra 14 lần, mỗi lần là tăng một số hợp đồng hay thế nào nhỉ. Có lẽ bạn nên làm thủ công một file mẫu thể hiện kết quả mong muốn cho dễ hình dung.
Dạ file em muốn xuất ra sẽ như này ạ. nhưng cái này em mới xuất có 3 bộ thôi ạ, Của em những 14 bộ cơ ạ . ( Kể ra phiền các bác tý nữa là đổi luôn được tên sheet thì hay quá , ví dụ : Hop_dong ( số 1) sẽ là HD1, Phu_Luc HD (số 1) sẽ là PL1 ý ạ, nếu làm lâu quá quá thì thôi cũng được ạ ) hì hì
Bài đã được tự động gộp:

Anh ơi, nhà bạn đấy ở Yên Bái, gần cổng trời nên cũng tiện anh ạ.
Bác trí nhớ tốt quá, vẫn nhớ em ở Yên Bái. Vẫn như lời mời lần trước ạ, Khi nào Bác lên Yên Bái công tác gọi em nhé. Hì hì
Bài đã được tự động gộp:

Khôn gì ở đây? Cứ nhìn thấy trong tập tin có thế nào thì viết y như vậy thôi. Tự dưng lại bịa ra, lấy tên từ trên trời.
Hì Hì, em quen tay quá, Tại mò mãi không ra nên bị Tẩu hỏa nhập ma , kiểu kiểu ý ạ
 

File đính kèm

  • nhờ các anh chị DD-EXCEL.xlsx
    465.8 KB · Đọc: 2
Upvote 0
Dạ file em muốn xuất ra sẽ như này ạ. nhưng cái này em mới xuất có 3 bộ thôi ạ, Của em những 14 bộ cơ ạ . ( Kể ra phiền các bác tý nữa là đổi luôn được tên sheet thì hay quá , ví dụ : Hop_dong ( số 1) sẽ là HD1, Phu_Luc HD (số 1) sẽ là PL1 ý ạ, nếu làm lâu quá quá thì thôi cũng được ạ ) hì hì
Vậy là 14 sheets của bộ hợp đồng số 1 sẽ xuất ra 1 file thứ nhất.
14 sheets của bộ hợp đồng số 2 sẽ xuất ra file tiếp theo... đến file thứ 14 phải không ban.
 
Upvote 0
Web KT
Back
Top Bottom