Estoy un poco confundido por celda y rango en vba (excel). Lógicamente, podría pensar una celda como un rango con tamaño = 1; y creo que es fácil hacer un rango desde una celda.Excel vba: tipo rango y celda
Si leo la api de la propiedad EntireRow here funciona en el rango. Sin embargo, el trabajo de código siguiente, que indica 'cell'variable dentro del bucle es una gama
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
Al mismo tiempo, el código de abajo devuelve un error que indica coincidencia de tipos cuando se llame a la función removecell. ¿Cuál debería ser el tipo de targetCell en la definición de la función?
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
tiene usted razón. Cell es un Rango con 1 artículo. Es 'val', del tipo' Boolean'? – shahkalpesh
sí. Este método ya funcionaba cuando pasé "cell.Text" y lo acepto en el método remove cellVal As String. Ahora estoy tratando de pasar la celda (rango) sí mismo al pasar la celda en lugar de la celda. Texto – bsr