vấn đề vba excel

Liên hệ QC

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia
5/6/08
Bài viết
30,703
Được thích
53,952
Vấn đề về VBA trong Excel

mình mới xem và tập tành VBA khoảng 1 tuần rồi

có vấn đề như sau cần tham kiến :

ví dụ mình có 1 form nhập dữ liệu tương tự như sau :

frmnhaplieu
các control :
txtnhapdulieu
txtdieukiennhap
cmdnhaplieu

trong bảng sheet2 mình gõ ô A1 = counta(a5:a100)
để đếm ô chứa dữ liệu
ở sheet1 tạo 1 command ' Nhap Lieu '
Mã:
private sub nhaplieu_click()
frmnhaplieu.show
end sub

khi bấm thì mở lên form ' Nhap Lieu '

form này cho phép nhập liệu lên ô A5,B5 và tự động xuống dòng ở các lần tiếp theo, yêu cầu dữ liệu phải nhập vào A5 và B5 cùng lúc

mình viết trình :

PHP:
private sub cmdnhaplieu_click()
dim sodem as string
 
sheets("sheet2").select
sodem = activesheet.range("a1").value
range("a1").select
 
if txtnhapdulieu = "" or txtdieukiennhap = "" then
msgbox"kiem tra cac du lieu nhap",vbokonly,"Thong bao"
else
activecell.offset(sodem+4,0).value = txtnhapdulieu
activecell.offset(sodem+4,1).value = txtdieukiennhap
end if
txtnhapdulieu.text=""
txtdieukiennhap.text=""
end sub


cái này cho mình nhập vào ô a5 và b5 tại sheet2 nếu 2 vùng dữ liệu dc thỏa mãn sau đó xóa dữ liệu trong 2 ô text

tuy nhiên, 1 trong 2 điều kiện ko thỏa mãn thì nổi thông báo msgbox

nhưng sau khi nổi thông báo vẫn tiến hành cho nhập dữ liệu trắng vào

cụ thể

lần 1 : thỏa mãn a5 = x b5 = x
lần 2 : ko thỏa mãn a6 = trống b6= trống
lần 3 thỏa mãn a7 = y b7 = y

ô a6 và b6 trống
mình muốn sau khi nổi thông báo sẽ kết thúc lệnh sau khi kết thúc msgbox
và mình dùng cách sau :
Mã:
if activecell.offset(sodem+4,0).value="" and activecell.offset(sodem+4,1).value="" then
   activecell.offset(sodem+4,0).select
   selection.clearcontents
   activecell.offset(sodem+4,1).select
   selection.clearcontents
end if

nghĩa là nếu như ô vừa nhận dữ liệu mà dữ liệu đó là trắng thì sẽ xóa dữ liệu đó
đáp ứng dc yêu cầu cho dữ liệu xuyên suốt

tuy nhiên cách này ko hay
cái mình muốn là mở rộng thêm :

-> làm cách nào để trong 1 tập hợp các lệnh ngang hàng nhau, khi muốn dừng tại đâu thì các lệnh theo thứ tự sau nó sẽ ko dc thực thi !

mình dùng End , nhưng End sẽ đóng luôn form ! ko dc

mình chưa từng học qua excel càng ko biết VBA, cũng ko phải dân kế toán

tuy nhiên tự mài mò nên cũng xài dc excel
gần đây thấy VBA hay hay nên chơi tiếp,

tìm tài liệu thì ít, tham khảo mấy trang nước ngoài cùng với việc tự tư duy và xem code bằng record macro nên cơ bản đã nắm dc cấu trúc code

chư vị nào vui lòng thì cho tham kiến !

xin cảm ơn !

From NDU:
Ai có dầu gió cho xin tí ---> Chóng mặt quá +-+-+-+ +-+-+-+ +-+-+-+
 
Chỉnh sửa lần cuối bởi điều hành viên:
làm cách nào để trong 1 tập hợp các lệnh ngang hàng nhau, khi muốn dừng tại đâu thì các lệnh theo thứ tự sau nó sẽ ko dc thực thi! Mình dùng End , nhưng End sẽ đóng luôn form!
Bạn dùng Exit Sub sẽ không đóng form.
 
Upvote 0
Mình hôm nay được tham gia với ai đây. Mình thấy có mấy cách điều khiển thoát:

1/ Dùng Exit Sub.

2/ Sub abcd() (Theo mình đây là cách phù hợp với yêu cầu của Ndu và nó cũng là chuẩn mẫu trong các chương trình tự tạo của Access)
on dk go to thoat
............

exit sub
thoat:
msgbox "Thong bao"
End sub

3/ stop: Đặt stop tại điểm cần dùng
 
Lần chỉnh sửa cuối:
Upvote 0
Em cũng đang tính chuyển từ nhập liệu trực tiếp tại sheet lên nhập liệu bằng User Form, bác ndu96081631 post file mà bác đang làm đó lên anh em ké với!

Mà sao hôm nay bác nói nghe lạ lạ...
mình mới xem và tập tành VBA khoảng 1 tuần rồi..."

Bác là sư phụ cái cái vụ VBA rồi còn gì, sao lại thế?!

From Sa_DQ:
Cái vụ này là do mình bấm nhầm thành gộp bài khi muốn sửa bài.
Rất xin lỗi các bạn & NDU!
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
thank các bro

mình làm dc rồi

mình đang định làm 1 số form nhập liệu dạng như sau :

nhưng nửa chừng gặp vấn đề thế nên ngưng, bây giờ có thể viết tiếp rồi
2-15.jpg


cái VBA này coi bộ hay

có thể mình sẽ làm 1 dự án quản lý kho và kế toán
 
Upvote 0
Vấn đề sư dụng Form và lập trình VBA trên Excel có lẽ mời mọi người tham khảo bài này, khá hay và cả kiến thức nâng cao nữa
 
Upvote 0
Web KT

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

Back
Top Bottom