giúp em với

Liên hệ QC

hieustr

Thành viên mới
Tham gia
29/1/07
Bài viết
2
Được thích
0
em mới bắt đầu tìm hiểu vba, các anh giải thích hộ em dòng lệnh này nhé:
Do While (tb.Cells(i, 1) < x) And (i < tb.Rows.Count)
em chưa hiểu tb.Cells(i, 1) tb.Rows.Count là gì?
có phải tb.Cells(i, 1) nghĩa là vị trí của cell hàng thứ i cột 1 trong table, còn tb.Rows.Count có nghĩa là tổng số hàng trong table không vậy? Ví dụ Table có 8 hàng thì i<8 đúng không các anh?
Mong các anh chỉ giúp. Em xin cảm ơn các anh.
 
Lần chỉnh sửa cuối:
/(/gắn quá

Nên đưa lên chí ít bắt đầu từ dòng lệnh khai báo biến Tb
Cho tới dòng lệnh Loop
 
Lần chỉnh sửa cuối:
Upvote 0
đoạn code này nhằm tim vị trí của cell để tra bảng, nó là như vậy nè anh:
Dim i As Long
Dim tb As Worksheet
Dim rg As Range
Set tb = Worksheets("Bang t1")
Set rg = tb.Range("B7", "I15")
i = 3
Do While (tb.Cells(i, 1) < x) And (i < tb.Rows.Count)
i = i + 1
Loop
i = i - 1

em xin hỏi thêm là ở đây sao lại dùng set hả vậy anh.
Theo em nghĩ, ý nghĩa của dòng lệnh này là trong khi giá trị của cell(i,1) trong table<x và i < tổng số hàng của table thì tiếp tục tăng i cho đến khi điều kiện sai thì kết thúc và chạy tiếp dòng lệnh i=i-1.Đúng không vậy anh?
 
Upvote 0
Mình xin tham gia tí!
Trong mô hình đối tượng của VBA trong excel không có Table đâu bạn, nó gồm các đối tượng
application => workbook => worksheet => range => cell => ngoài ra còn những đối tượng khác

trong vb của bạn thì cells là một thuộc tính của tb(tb là một worksheet)
cells là một colection(tập hợp) các đối tượng cell. Để chỉ ra một cell bất kỳ trong tập hợp này bạn dùng cells(i, j)
i: chỉ số hàng
j: chỉ số cột

Tại sao phải dùng set ư? vì tb là một biến thuộc kiểu object(đối tượng) và muốn gán giá trị cho biến đối tượng bạn phải dùng set.
(trong các ngôn ngữ của MS về sau như C# và VB.Net thì không dùng đến set, còn trong VB6 trở về trước thì nó bắt buộc)
 
Upvote 0
Web KT

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

Back
Top Bottom