Copy sheets và đặt tên bị báo lỗi (2 người xem)

  • Thread starter Thread starter Jiro100
  • Ngày gửi Ngày gửi
Liên hệ QC

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

Jiro100

Thành viên mới
Tham gia
24/3/22
Bài viết
3
Được thích
0
Hi all, mình có tạo đoạn code bên dưới để xuất dữ liệu báo biểu sát hạch, nhưng bị báo lỗi tại dòng code copy sheets, mọi người có thể kiểm tra dùm mình dòng code đó có gì sai ko, cám ơn nhiều !

Sub Click ()
Dim a, b, c As Integer

'Xuat du lieu tu sheets “Danh sach” qua sheets “Form”
a = Sheets("Danh sach").Range("A65536").End(xlUp).Row
For b = 2 To a
Sheets("Form").Cells(1, 5) = Sheets("Danh sach").Cells(b, 1)
Sheets("Form").Cells(5, 2) = Sheets("Danh sach").Cells(b, 3)
Sheets("Form").Cells(5, 5) = Sheets("Danh sach").Cells(b, 4)
Sheets("Form").Cells(5, 8) = Sheets("Danh sach").Cells(b, 6)
Sheets("Form").Cells(6, 2) = Sheets("Danh sach").Cells(b, 2)
Sheets("Form").Cells(6, 8) = Sheets("Danh sach").Cells(b, 7)
Sheets("Form").Cells(6, 11) = Sheets("Danh sach").Cells(b, 5)

‘Copy sheets và đặt tên sheets
Sheets("Form").Copy After:=Sheets(2)
ActiveSheet.Name = Sheets("Form").Range("E1").Value

Next b

'Khoi phuc sheets “From” thanh form trong
Sheets("Form").Cells(1, 5) = ""
Sheets("Form").Cells(5, 2) = ""
Sheets("Form").Cells(5, 5) = ""
Sheets("Form").Cells(5, 8) = ""
Sheets("Form").Cells(6, 2) = ""
Sheets("Form").Cells(6, 8) = ""
Sheets("Form").Cells(6, 11) = ""
End Sub
 
Hi all, mình có tạo đoạn code bên dưới để xuất dữ liệu báo biểu sát hạch, nhưng bị báo lỗi tại dòng code copy sheets, mọi người có thể kiểm tra dùm mình dòng code đó có gì sai ko, cám ơn nhiều !

Sub Click ()
Dim a, b, c As Integer

'Xuat du lieu tu sheets “Danh sach” qua sheets “Form”
a = Sheets("Danh sach").Range("A65536").End(xlUp).Row
For b = 2 To a
Sheets("Form").Cells(1, 5) = Sheets("Danh sach").Cells(b, 1)
Sheets("Form").Cells(5, 2) = Sheets("Danh sach").Cells(b, 3)
Sheets("Form").Cells(5, 5) = Sheets("Danh sach").Cells(b, 4)
Sheets("Form").Cells(5, 8) = Sheets("Danh sach").Cells(b, 6)
Sheets("Form").Cells(6, 2) = Sheets("Danh sach").Cells(b, 2)
Sheets("Form").Cells(6, 8) = Sheets("Danh sach").Cells(b, 7)
Sheets("Form").Cells(6, 11) = Sheets("Danh sach").Cells(b, 5)


‘Copy sheets và đặt tên sheets
Sheets("Form").Copy After:=Sheets(2)
ActiveSheet.Name = Sheets("Form").Range("E1").Value

Next b

'Khoi phuc sheets “From” thanh form trong
Sheets("Form").Cells(1, 5) = ""
Sheets("Form").Cells(5, 2) = ""
Sheets("Form").Cells(5, 5) = ""
Sheets("Form").Cells(5, 8) = ""
Sheets("Form").Cells(6, 2) = ""
Sheets("Form").Cells(6, 8) = ""
Sheets("Form").Cells(6, 11) = ""
End Sub
Bạn thử thay dòng
Sheets("Form").Copy After:=Sheets(2)
thành
Sheets("Form").Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Khi chạy code. Một sheet mới sẽ được thêm vào sau sheet cuối cùng của Workbook và có tên như ô E1 của sheet(Form)
Chay thử
 
Bạn thử thay dòng
Sheets("Form").Copy After:=Sheets(2)
thành
Sheets("Form").Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Khi chạy code. Một sheet mới sẽ được thêm vào sau sheet cuối cùng của Workbook và có tên như ô E1 của sheet(Form)
Chay thử
Sheets là collection của tất cả các sheets, kể cả chart sheets.
Khi làm việc với worksheets, nên tập thói quen dùng collection WorkSheets. Nhóm này không đụng chạm gì đến chart sheets.
 
Bạn thử thay dòng
Sheets("Form").Copy After:=Sheets(2)
thành
Sheets("Form").Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Khi chạy code. Một sheet mới sẽ được thêm vào sau sheet cuối cùng của Workbook và có tên như ô E1 của sheet(Form)
Chay thử
Mình đã thử và vẫn báo lỗi
Bài đã được tự động gộp:

Sheets là collection của tất cả các sheets, kể cả chart sheets.
Khi làm việc với worksheets, nên tập thói quen dùng collection WorkSheets. Nhóm này không đụng chạm gì đến chart sheets.
Bạn có thể hướng dẫn chi tiết hơn được ko, thanks !
 
Tôi cũng nghĩ vậy nhưng họ không up file lên nên không biết được thế nào. Thôi thì cứ cung cấp cho họ them 1 giải pháp nữa xem sao. Mặc dù tôi cũng chưa Test thử
Bạn đã quá vội vã khi đưa ra giải pháp.
Khi người ta nói "báo lỗi", mình phải hỏi lại "báo ra sao?"

Nếu bạn thử tạo một file giả gồm một sheet "Form", và một sheet "Danh sach" với một đống số ở A1:G3 chẳng hạn. Sẽ thấy rằng code trên chả có lỗi gì hết. Các sheets mới tạo ra sẽ mang tên theo số mà bạn đặt ở sheet Danh sach.

Nếu bảo tôi chạy thử thì tôi đầu tiên là cóp code ấy ra notepad rồi cóp lại vào mô-đun. Nói cách khác, tôi đoán có ký tự lạ gì đó mà compiler không chịu. Điều này xảy ra ở máy tôi -> lỗi ngữ pháp (syntax error). Cóp qua trung gian notepad thì hết.

Nếu lỗi chạy (run time error), bảo tôi đoán thì tôi đoán rằng bảng dữ liệu của thớt có dữ liệu trùng. Tức là lỗi ở dòng kế tiếp đó.

Nhưng đã nêu trên, nhiệm vụ người hỏi là phải trình bày rõ rệt lỗi.

Chú thích: nếu bạn có thử, sẽ nhận ra rằng giải pháp của bạn không hoàn toàn đúng. Giải pháp của bạn đưa sheet tạo ra mới nhất về vị trí xa nhất. Trong khi code chủ đưa sheet mới nhất về vị trí thứ , và đảy các sheet trước đó ra xa.
 
Những kiểu tung mỗi "báo lỗi" mà không một lời giải thích thì mất công sức thời gian làm gì. Bố ai biết "báo lỗi" có nghĩa là gì.

Tôi than: "Đau quá, đau quá. Ai giúp tôi với, đau quá". Có ai biết tôi bị đau gì, "đau quá" là gì không? Có thưởng nhé.
 
Cũng cần đề phòng trong DĐ có người chuyên khai Nick mới để viết bài châm chọc cho vui thời Covid19
 
Hi all, mình có tạo đoạn code bên dưới để xuất dữ liệu báo biểu sát hạch, nhưng bị báo lỗi tại dòng code copy sheets, mọi người có thể kiểm tra dùm mình dòng code đó có gì sai ko, cám ơn nhiều !

Sub Click ()
Dim a, b, c As Integer

'Xuat du lieu tu sheets “Danh sach” qua sheets “Form”
a = Sheets("Danh sach").Range("A65536").End(xlUp).Row
For b = 2 To a

‘Copy sheets và đặt tên sheets
Sheets("Form").Copy After:=Sheets(2)
ActiveSheet.Name = Sheets("Form").Range("E1").Value
Next b
End Sub
Có thể do số sheet thêm mới quá nhiều làm excel mắc nghẹn và tắt thở
 
Chiêu nầy trong binh pháp Tôn Tử gọi là giương đông kích tây
Trương Lương minh tu sạn đạo.

Tất cả đều tốt đẹp :D
Chỗ nào tốt và chỗ nào đẹp?
Câu hỏi sai. Các suy đoán đều trớt quớt. :unknw:

Cũng cần đề phòng trong DĐ có người chuyên khai Nick mới để viết bài châm chọc cho vui thời Covid19
Hổng phải đâu. Người châm chọc có thể rất hách dịch, kém lịch sự nhưng chưa hề thấy trổ giọng Tây con.

Chỉ là Tây con này thuộc loại thần hồn nát thần tính. Chạy cái lỗi là tá hoả lên, chả biết gì nữa.
 
Web KT

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

Back
Top Bottom