Sửa giúp mình code tạo file (1 người xem)

Liên hệ QC

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

hoanghuytfs

Thành viên mới
Tham gia
1/6/13
Bài viết
20
Được thích
2
Dear các bạn !
- mình tạo xuất dữ liệu ra 1 file workbook mới , theo mẫu có yêu cầu, và điều kiện là sk xuất >0
- nhưng hiện tại code vba mình viết đang bị lỗi lầm gì đó, mong bà con vào xem file giúp mình

=> các bạn vui lòng giúp mình với
 

File đính kèm

Dear các bạn !
- mình tạo xuất dữ liệu ra 1 file workbook mới , theo mẫu có yêu cầu, và điều kiện là sk xuất >0
- nhưng hiện tại code vba mình viết đang bị lỗi lầm gì đó, mong bà con vào xem file giúp mình

=> các bạn vui lòng giúp mình với
File đính kèm có code đâu mà sửa.
 
Upvote 0
Dear các bạn !
- mình tạo xuất dữ liệu ra 1 file workbook mới , theo mẫu có yêu cầu, và điều kiện là sk xuất >0
- nhưng hiện tại code vba mình viết đang bị lỗi lầm gì đó, mong bà con vào xem file giúp mình

=> các bạn vui lòng giúp mình với
Bạn phải save file dạng xlsm mới có code.
 
Upvote 0
Sorry ban !
mình gửi lại file
và đoạn code bên dưới :
Private Sub CommandButton1_Click()
Dim newWB As Workbook
Dim hang_sheetnguon As Long
Dim hang_sheetmoi As Long
Dim tongsohang As Integer
Dim stthang As Integer


tongsohang = Sheets("sheetnguon").Range("B" & Rows.Count).End(xlUp).Row

Set newWB = Workbooks.Add

hang_sheetmoi = 1
stthang = 10
For hang_sheetnguon = 5 To tongsohang
If Sheets("sheetnguon").Cells(hang_sheetnguon, 7) > 0 Then
newWB.Sheets("sheet1").Cells(hang_sheetmoi, 1) = Sheets("sheetnguon").Cells(hang_sheetnguon, 2)
newWB.Sheets("sheet1").Cells(hang_sheetmoi, 2) = 10
newWB.Sheets("sheet1").Cells(hang_sheetmoi, 3) = Sheets("sheetnguon").Cells(hang_sheetnguon, 5)
newWB.Sheets("sheet1").Cells(hang_sheetmoi, 3) = Sheets("sheetnguon").Cells(hang_sheetnguon, 7)
End If

hang_sheetmoi = hang_sheetmoi + 1
stthang = stthang + 10
Next

End Sub


=> khi click nút tạo file tạm thì nó báo lổi : Run time error '9' : subcript out of range

bạn giúp mình với
 

File đính kèm

Upvote 0
Sorry ban !
mình gửi lại file
và đoạn code bên dưới :
Private Sub CommandButton1_Click()
Dim newWB As Workbook
Dim hang_sheetnguon As Long
Dim hang_sheetmoi As Long
Dim tongsohang As Integer
Dim stthang As Integer


tongsohang = Sheets("sheetnguon").Range("B" & Rows.Count).End(xlUp).Row

Set newWB = Workbooks.Add

hang_sheetmoi = 1
stthang = 10
For hang_sheetnguon = 5 To tongsohang
If Sheets("sheetnguon").Cells(hang_sheetnguon, 7) > 0 Then
newWB.Sheets("sheet1").Cells(hang_sheetmoi, 1) = Sheets("sheetnguon").Cells(hang_sheetnguon, 2)
newWB.Sheets("sheet1").Cells(hang_sheetmoi, 2) = 10
newWB.Sheets("sheet1").Cells(hang_sheetmoi, 3) = Sheets("sheetnguon").Cells(hang_sheetnguon, 5)
newWB.Sheets("sheet1").Cells(hang_sheetmoi, 3) = Sheets("sheetnguon").Cells(hang_sheetnguon, 7)
End If

hang_sheetmoi = hang_sheetmoi + 1
stthang = stthang + 10
Next

End Sub


=> khi click nút tạo file tạm thì nó báo lổi : Run time error '9' : subcript out of range

bạn giúp mình với
Lỗi là phải rồi.
Khi mình add 1 WorkBook mới thì WB đó sẽ là WB hiện hành. Bạn gọi Sheets("sheetnguon") thì Excel sẽ hiểu là Sheets("sheetnguon") của WB hiện hành và kết quả là không tìm được sheet này. Cho nên bạn cần phải khai báo thêm 1 biến và set biến này = Sheets("sheetnguon") trước câu Set newWB = Workbooks.Add. Sau đó gọi tên biến này sẽ khắc phục được lỗi Out Of Range. Còn kết quả thì mình không bàn nha.
 
Upvote 0
bạn có thể sửa lại code giúp mình để mình lấy dữ liệu 1 số cột cần thiết từ sheet nguồn chuyển qua sheet mới tạo ko?
 
Upvote 0

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

Back
Top Bottom