Devolución de una cadena vacía o de longitud cero (p. ""
) para hacer que una celda aparezca en blanco es una práctica común en una fórmula de hoja de cálculo pero recreando esa opción al insertar la fórmula a través de la propiedad Range.Formula o Range.FormulaR1C1 en VBA es difícil debido a la necesidad de duplicar los caracteres de comillas dobles dentro una cadena citada.
La hoja de cálculo nativa TEXT function puede producir el mismo resultado sin utilizar comillas.
'formula to insert into C1 - =IF(A1<>"", B1, "")
range("C1").formula = "=IF(A1<>"""", B1, """")" '<~quote chars doubled up
range("C1").formula = "=IF(A1<>TEXT(,), B1, TEXT(,))" '<~with TEXT(,) instead
Para mi ojo, usando TEXT(,)
en lugar de ""
limpia incluso una fórmula sencilla como la de arriba. Los beneficios se vuelven cada vez más significativos cuando se usan en fórmulas más complicadas, como la práctica de anexar una cadena vacía a VLOOKUP para evitar devolver un cero a la celda cuando una búsqueda da como resultado un espacio en blanco o devuelve una cadena vacía sin coincidencia con IFERROR.
'formula to insert into D1 - =IFERROR(VLOOKUP(A1, B:C, 2, FALSE)&"", "")
range("D1").formula = "=IFERROR(VLOOKUP(A1, B:C, 2, FALSE)&"""", """")"
range("D1").formula = "=IFERROR(VLOOKUP(A1, B:C, 2, FALSE)&TEXT(,), TEXT(,))"
Con TEXT(,)
sustitución de la antigua ""
procedimiento de suministro de una cadena vacía, es posible llegar a dejar de usar un ábaco para determinar si usted tiene el número correcto de caracteres de comillas en una cadena de fórmula.
funciona como un encanto. –
¿Sería eso una 'doble comilla doble'? :) –
Si quiere una cadena que solo consiste en una comilla doble, necesita "" "", que hago una doble comilla doble doble. –