Lỗi của Code trong phần này sửa thế nào?

Liên hệ QC

QA&D

Thành viên mới
Tham gia
5/12/07
Bài viết
2
Được thích
0
- Tại Sheet 1, tôi có một bảng cơ sở dữ liệu (xem file hình excel_1.jpg)

- Tại Sheet 2, tôi thiết kế cấu trúc mẫu in phiếu (xem file hình excel-2.jpg)
- Vấn đề đặt ra là: Làm thế nào khi chọn bất kỳ TÊN một học sinh nào (= chọn dòng
bất kỳ) của bảng CSDL thuộc Sheet 1 thì tại Sheet 2 sẽ mang dòng đó qua. Khi chọn
dòng khác thì số liệu của dòng cũ sẽ mất đi và thay thế bằng nội dung của dòng vừa
được chọn.
Một độc giả đã gửi trên PC-WORD hướng dẫn tạo một marco tạo báo cáo để đáp ứng
yêu cầu nêu trên (xem file hình excel-3.jpg). Tôi làm theo vì chưa biết VB, nhưng khi
chạy thì marco bị lỗi không chạy được. Ai biết xin chỉ giúp, tôi đang sử dụng Excel
2007. Cám ơn nhiều.
* Một vấn đề nữa tôi cần sự giúp đỡ của mọi người; đó là: làm thế nào khi cho in xong
hs 1 thì sẽ xuất hiện một hộp thoại hỏi có in tiếp. Nếu bấm nút có thì xuất hiện một
hộp thoại yêu cầu chọn mẫu tin (record) có thứ tự từ đâu đến đâu. Sau đó, nếu chọn
xong thì bấm nút in, và quá trình in sẽ tự động thực hiện.
 

File đính kèm

  • excel_1.jpg
    excel_1.jpg
    25.3 KB · Đọc: 30
  • excel_2.jpg
    excel_2.jpg
    24.9 KB · Đọc: 17
  • excel_3.jpg
    excel_3.jpg
    40.5 KB · Đọc: 21
Chào bác QA&D

Xem ra bác là người mới. Chào mừng bác đến với GPE.

Tôi đoán là bác làm thế để học chơi cho vui thôi, chứ ko phải cho mục đích hàng ngày.

Đoạn code của bác gõ vào bị sai ở chỗ thiếu dấu "=" trước "sheet1!R", đúng ra bác phải gõ "=sheet1!R".

Nếu bác muốn lặp lại quá trình thì làm như sau

Dim asnwer

answer = vbYes

Do While answer <> vbYes

...... (cái code ccủa bác ấy)

answer = MsgBox("Ban muon lam tiep ko?", vbYesNo)



Loop

Chúc bác thành công.
 
Upvote 0
Còn nữa: TÊN BIẾN không được đặt trùng với từ khoá, hàm, lệnh của VBA. Cụ thể là biến Row của bạn, phải đổi tên.
 
Upvote 0
ptm0412 đã viết:
Còn nữa: TÊN BIẾN không được đặt trùng với từ khoá, hàm, lệnh của VBA. Cụ thể là biến Row của bạn, phải đổi tên.
Cám ơn bạn ptm góp ý nhé.

Đúng là ta không nên đặt trùng, nhưng thực ra vẫn chạy được như thường. Cái row của bạn ấy vẫn chạy vô tư đấy, không tin bạn thử xem sao.

Ngoài ra code của bạn QA có rất nhiều lỗi. Nhưng đối với người mới học VBA thế là rất tốt rồi. Tôi chắc chắn bạn QA&D sẽ có khả năng lập trình VBA rất tốt trong thời gian ngắn.
 
Upvote 0
Xin chào workman, lâu quá mới lại tái xuất giang hồ đây mà!

Cám ơn bạn ptm góp ý nhé.
Đúng là ta không nên đặt trùng, nhưng thực ra vẫn chạy được như thường. Cái row của bạn ấy vẫn chạy vô tư đấy, không tin bạn thử xem sao.
Ngoài ra code của bạn QA có rất nhiều lỗi. Nhưng đối với người mới học VBA thế là rất tốt rồi. Tôi chắc chắn bạn QA&D sẽ có khả năng lập trình VBA rất tốt trong thời gian ngắn.

Nếu là người mới bắt đầu, nên tạo những thói quen sau:
* Khai báo tất cà các biến; không nên nữa nạt, nữa mỡ như trong H3;
Nên dùng khai báo Option Explicit ở phần khai báo.
* Biến nên có chữ thường xen với chữ hoa;
* Tên biến nên tránh xa các từ khóa của VBA, xa bao nhiêu tốt bí nhiêu!
Tất nhiên đó là những điều không bắt buộc, cũng như không ai cấm đi bộ 1 chân trên vĩa hè, một chân dưới lòng đường cả!!

Chúc xuân vui vẽ!!
 
Upvote 0
QA&D xin cám ơn tất cả mọi người giúp đỡ. Nói thật lòng, tôi cũng biết dùng excel ở mức độ kha khá. Nhưng với việc lập trình, viết code bằng vb thì chẳng biết tí tẹo. Trước đây tôi cũng đã học qua lập trình cơ bản nhưng với Pascal thôi.
Xin cám ơn tất cả mọi người, cám ơn GPE. Chúc mọi người vui vẻ, đem nhiều hạnh phúc đến cho những người ham học hỏi excel thông qua GPE.
 
Upvote 0
Web KT
Back
Top Bottom