Xin trợ giúp sửa lỗi code VBA nhập liệu từ sheet này sang sheet kia

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

tobuvn

Thành viên mới
Tham gia
12/12/11
Bài viết
36
Được thích
3
File đây ạ: http://www.mediafire.com/download/rpdzpxmik808gjt/suacode.xls
còn code VBA trong đó là:

Private Sub Button_muonphieuthuesach_Click()
Dim MaThanhVien As String, NgayMuon As String, MaSo As String
Worksheets("PHIEUTHUESACH").Select
MaThanhVien = Range("a9")
NgayMuon = Range("a12")
MaSo = Range("b12")
Worksheets("LICHSUTHUE").Select
Worksheets("LICHSUTHUE").Range("b8").Select
Worksheets("LICHSUTHUE").Range("a8").Select
Worksheets("LICHSUTHUE").Range("d8").Select
If Worksheets("LICHSUTHUE").Range("d8").Offset(1, 0) <> "" Then
Worksheets("LICHSUTHUE").Range("d8").End(xlDown).Select

End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = MaThanhVien
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = NgayMuon
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = MaSo
Worksheets("PHIEUTHUESACH").Select
Worksheets("PHIEUTHUESACH").Range("A9").Select
End Sub

Em nghĩ là lỗi cho em cho đậm lên nhưng em không biết sửa thế nào. Cấu trúc hàm này tổng hợp quá.
Mong các bác giúp đỡ.
 
Nhìn toàn cảnh thì hình như bạn đang thiếu chí ít 1 trang tính (hay 1 bảng dữ liệu) lưu danh sách khách hàng (Những người có thẻ hay không có thẻ đã giao dịch với nhà sách để mượn)

(*) Tại fiếu thuê sách vùng các ô [C6], [c7], [c8], [d8], & [c9] đều cần lấy dữ liệu không fải ở trang 'LichuThue', mà fải lấy dữ liệu từ trang ta mới đề cập đến.

(*) Thú thật mình chưa thấy macro này gắn với nút lệnh nào cả?

(*) Còn bạn "Em muốn nhập 3 ô A9,A12,B12 sang sheet LICHSUTHUE" chuyện này là chuyện nhỏ, sau khi bạn thực hiện các việc trên; Nhằm trên trang tính không còn ving nào có ô báo lỗi nữa mới được.

Vài hàng & những mong giúp được bạn ít nhiều!
 
Vâng, do dung lượng lớn nên em phải xóa các sheet không cần thiết tới vấn đề hỏi ra ạ. Ý em là nhập bình thường cũng được, còn những nội dung liên quan em sửa sau ạ.
Em chỉ cần nhập được 3 nội dung thôi ạ, những cái còn lại em tự làm được ạ. Bác kiểm tra lỗi gì giúp e với!
Nút nhập em gắn macro rồi và code của nó là Module 6 ạ! (nói thật với bác em không hiểu cái Macro lắm ạ. Em làm theo hướng dẫn trên trang nước ngoài ạ)
 
Lần chỉnh sửa cuối:
Cả các bác khác nếu có thể giúp đỡ em với! +-+-+-+
 
1/ Để hiểu bạn định làm gì khó hàng trăm lần viết Code thực hiện ý định của bạn. Vậy để anh em giúp nhanh gọn cho bạn thì bạn nên tìm cách giải trình yêu cầu của mình cho thật dễ hiểu.

2/ Đã là sheet lưu trữ Data mà bạn để tiêu đề, trang trí, dữ liệu lơ lửng giữa chừng như sheet LICHSUTHUE thì coi chừng có ngày vỡ Code

3/ Cái đoạn Code của bạn nếu sửa có lẽ bỏ đi 95% (Code thừa chẳng biết để làm gì). Trong khi bạn nói tham khảo Code nước ngoài, tại sao không xem GPE cho nó tiện. Một trong những vấn đề khai thác GPE là kỹ năng tìm kiếm đấy nha.
 
Lần chỉnh sửa cuối:
Cảm ơn chú Sealand và mọi người, cháu tìm ra rồi: http://www.giaiphapexcel.com/forum/...ng-nhập-dữ-liệu-từ-sheet-này-sang-sheet-khác-!!!
Lần trước cháu cũng tìm ra rồi nhưng do code và nội dung lằng nhằng quá nên cháu bỏ qua, cháu vừa thu gọn để nó lộ code cháu cần rồi ạ. Công nhận nó ngắn hơn code nước ngoài ạ. --=0

Bình thường cháu chỉ search trên google mà ko search trên forum do trước đây cháu cũng search nhưng mà ở các forum khác hay xuất hiện các nội dung khó hiểu từ đó cháu không bao giớ search nữa! :D
 
Nhưng code cháu đưa ra có ưu điểm là nó nhập các chính xác các cột ngay kể khi các cột nơi nhập không theo vị trí. Còn code file cháu tìm được trên GPE thì vị trí cột nhập và vị trí cột lưu phải giống hệt nhau ạ.
Mặt khác code đó không xuất hiện thông báo đã nhập xong và không clear dữ liệu vừa được nhập đi ạ.
Cháu mong chú và các pro giúp cháu sửa code ở file dưới đây với ạ! (Cháu không gửi được file đính kèm nên đưa lên mediafile ạ)
http://www.mediafire.com/view/olf1dg7dw9vb7uc/nhosuacode.xls
 
Em thay Code nay vào chạy thử xem sao:

Mã:
Sub nhaphang()
Dim Tm, i, Cl As Range, Kt As Integer
Application.ScreenUpdating = False
Tm = Sheet1.[B5:D14]
Set Cl = Sheet6.[A65536].End(3).Offset(1)
'Kiem tra du lieu truoc khi nhap chi dong nao du DL moi nhap
For i = 1 To UBound(Tm, 1)
If Tm(i, 1) <> "" And Tm(i, 2) <> "" And Tm(i, 3) <> "" Then
Cl.Value = Tm(i, 1)
Cl.Offset(, 1) = Tm(i, 2)
Cl.Offset(, 3) = Tm(i, 3)
Set Cl = Cl.Offset(1)
Kt = Kt + 1
End If
Next
Sheet1.[B5:D14].ClearContents
Set Cl=Nothing
MsgBox IIf(Kt = 0, "Khong co du lieu nao duoc nhap!!!", "Co " & Kt & " dong duoc nhap !!!"), , "TOBUVN"
Application.ScreenUpdating = True
End Sub
 
Trời ạ, tuyệt đỉnh luôn chú ạ. Cháu rất muốn nghiên cứu nhiều về Excel, theo kinh nghiệm của chú cháu cần phải có quá trình như thế nào ạ? Chú là dân kế toán mà siêu lập trình và Excel vậy ạ? @$@!^%
 
Thì bắt đầu đi thay vì ý muốn, thế giới này đang ủng hộ em cơ mà. Tài liệu, kinh nghiệm, bí quyết người ta cho tất chỉ còn phụ thuộc vào chính mình thôi.
 
Nhưng code cháu đưa ra có ưu điểm là nó nhập các chính xác các cột ngay kể khi các cột nơi nhập không theo vị trí. Còn code file cháu tìm được trên GPE thì vị trí cột nhập và vị trí cột lưu phải giống hệt nhau ạ.
Mặt khác code đó không xuất hiện thông báo đã nhập xong và không clear dữ liệu vừa được nhập đi ạ.
Cháu mong chú và các pro giúp cháu sửa code ở file dưới đây với ạ! (Cháu không gửi được file đính kèm nên đưa lên mediafile ạ)
http://www.mediafire.com/view/olf1dg7dw9vb7uc/nhosuacode.xls

Do tôi hết quota rồi nên không giúp bạn được, đây là Link dùng sheet như Form để nhập liệu có cấu trúc như File của bạn, bạn tải File TINH TIEN BAN tại bài #19 của Link sau:

http://www.danketoan.com/forum/excel-va-vba/tao-1-sheet-nhu-form-de-nhap-lieu-2.181709.html
 
Vâng, cảm ơn chú. Cháu bắt đầu rồi ạ!
Cảm ơn bác be09 ạ!
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom