Tôi hơi nhầm lẫn giữa ô và dải ô trong vba (excel). Về mặt logic, tôi có thể nghĩ một ô là một phạm vi với kích thước = 1; và tôi nghĩ rất dễ để tạo ra một phạm vi từ một tế bào.Excel vba: Loại ô và dải ô
Nếu tôi đọc api của thuộc tính EntireRow here hoạt động trên phạm vi. Tuy nhiên, công việc mã dưới đây, cho thấy 'cell'variable bên trong vòng lặp là một loạt
Set import = Sheets("import")
Set spRange = import.Range("A2")
Set spRange = import.Range("A2:" & spRange.End(xlDown).Address)
For Each cell In spRange
dict.Add cell.Offset(0, 2).Text, cell.EntireRow
Next cell
Cùng lúc đó, các mã dưới đây trả về một lỗi chỉ ra loại không phù hợp khi gọi removecell chức năng. Điều gì sẽ là loại targetCell trong định nghĩa chức năng?
Set spRange = mySheet.Range("b2", mySheet.Range("b2").End(xlDown))
For Each cell In spRange
val = removecell (cell)
Next cell
Public Function removecell(targCell As Range) As Boolean
removecell = False
End Function
Bạn nói đúng. Ô là một phạm vi có 1 mục. Là 'val', thuộc loại' Boolean'? – shahkalpesh
có. phương pháp này trước đây đã hoạt động khi tôi chuyển "cell.Text" và chấp nhận nó trong phương thức remove cellVal As String. Bây giờ tôi đang cố gắng để vượt qua các tế bào (phạm vi) chính nó bằng cách đi qua tế bào thay vì cell.Text – bsr