Я немного смущен клеткой и диапазоном в vba (excel). Логично, я мог бы думать, что ячейка как диапазон с размером = 1; и я думаю, что легко сделать диапазон из ячейки.Excel vba: диапазон типов и ячейка
Если я прочитал api свойства EntireRow here , он работает в диапазоне. Но, приведенная ниже код работа, указывающая «cell'variable внутри цикла является диапазоном
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
В то же время, следующий код возвращает ошибку, указывающую, когда несоответствие типов вызовите removecell функции. Каким должен быть тип targetCell в определении функции?
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
Вы правы. Ячейка - это диапазон с 1 элементом. Является ли 'val', типа' Boolean'? – shahkalpesh
да. этот метод ранее работал, когда я передавал «cell.Text» и принимал его в методе remove cellVal As String. Теперь я пытаюсь передать ячейку (диапазон), передавая ячейку вместо cell.Text – bsr