Nhờ các bác chỉ giúp tại sao Form em làm lại không chạy

Liên hệ QC

thangtctk

Thành viên mới
Tham gia
28/8/07
Bài viết
31
Được thích
13
Em dựa trên file HOSOBENHNHAN của một bác ở trên GPE

Em xây dựng một form nhập liệu và viết một code tương tự như vậy trên file này, sau đó em chạy form nhưng không hoạt động giống như file gốc. Các bác xem giúp trong file em gửi kèm và chỉ giúp em tại sao lại thế?

Và các bác giải thích giúp em ra nghĩa của đoạn code sau:

iRow = ws.Cells(Rows.Count, 5).End(xlUp).Offset(1, 0).Row

ws.Cells(iRow, 2).Value = Me.TextBox1.Value
ws.Cells(iRow, 3).Value = Me.TextBox2.Value
ws.Cells(iRow, 4).Value = Me.TextBox3.Value
ws.Cells(iRow, 5).Value = Me.TextBox4.Value
ws.Cells(iRow, 6).Value = Me.TextBox5.Value
'clear the data
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
Me.TextBox1.SetFocus
(đây là đoạn code em copy từ file trên)

Em cảm ơn!
 

File đính kèm

Trên form do bạn tạo bạn chưa đặt tên cho 2 nút OK và Cancel. Bạn chỉ cần đặt tên lại là được. Ngoài ra TextBox tại địa chỉ đặt lại là TextBox4 chứ không phải 6.
 
Lần chỉnh sửa cuối:
Upvote 0
[qoute]iRow = ws.Cells(Rows.Count, 5).End(xlUp).Offset(1, 0).Row[/qoute]
rows.count : đếm tổng số dòng của ws
end(xlup) : di chuyển đến ô phía trên có dữ liệu đầu tiên (không có thì là ô có dòng = 1)
offset(1,0) :di chuyển tương đối so với ô hiện tại 1 dòng, 0 ô
.row : trả về số dòng của ô hiện tại.

Vậy nguyên cụm trên là từ dòng cuối cùng của cột thứ 5, nhảy về ô trên có dữ liệu đầu tiên, rồi di chuyển xuống dưới 1 dòng, lấy dòng của vị trí hiện tại gán vào biến iRow (Trả về dòng trống đầu tiên tại cột 5)
 
Upvote 0
Nhưng bạn LearnMore ơi, mình chưa biết cách đặt tên cho 2 nút OK và Cancel đó như thế nào, Bạn chỉ giúp mình cách đặt tên đi

Xin Cảm ơn bạn!
 
Upvote 0
1. Đoạn code có nghĩa như sau:
-iRow = ws.Cells(Rows.Count, 5).End(xlUp).Offset(1, 0).Row: Gán cho biến iRow một giá trị số = số hàng của ô chứa dữ liệu đầu tiên tính từ dưới lên +1 (Offset(1,0) nghĩa là tăng thêm 1 hàng, giữ nguyên cột)
-ws.Cells(iRow, 2).Value = Me.TextBox1.Value: Gán cho ô (hàng iRow, cột 2) của sheet ws một giá trị bằng giá trị TextBox1 của Form hiện hành.
-TextBox1 = "": Xoá hết dữ liệu trong TextBox1.
-Me.TextBox1.SetFocus: Đặt con trỏ vào TextBox1 của Form hiện hành.
2. Bạn vào cửa sổ code. Kích phải vào nút OK và Cancel của form MAUNHAPLIEU. Vào hộp thoại Properties đặt lại name cho 2 nút này là OK và Cancel. (2 nút này đang có tên là CommandButton1 và CommandButton2)
 
Lần chỉnh sửa cuối:
Upvote 0
Chào bác SóiBien, Hôm qua đọc tin bác nhắn cho em, em đã gửi lại tin nhắn cho bác, Bác gửi giúp cho em bản bác đã làm mẫu cho em để em nghiên cứu và học làm theo. hoặc bác up len trên mạng cho mọi người cùng tham khảo.
 
Upvote 0
Web KT

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

Back
Top Bottom