Quiero insertar una declaración if en una celda a través de vba que incluye comillas dobles.
Aquí está mi código:
Worksheets("Sheet1").Range("A1").Value = "=IF(Sheet1!B1=0,"",Sheet1!B1)"
Debido a las comillas dobles, tengo problemas para insertar la cadena. ¿Cómo manejo las comillas dobles?
excel
vba
double-quotes
user793468
fuente
fuente
Respuestas:
Encuentro que la forma más fácil es duplicar las cotizaciones para manejar una cotización.
A algunas personas les gusta usar CHR (34) *:
* Nota: CHAR () se usa como una fórmula de celda de Excel, por ejemplo, escribiendo "= CHAR (34)" en una celda, pero para el código VBA se usa la función CHR ().
fuente
Otra solución es construir una cadena con un carácter sustituto temporal. Luego puede usar REPLACE para cambiar cada carácter temporal a comillas dobles. Utilizo tilde como carácter sustituto temporal.
Aquí hay un ejemplo de un proyecto en el que he estado trabajando. Esta es una pequeña rutina de utilidad para reparar una fórmula muy complicada si / cuando la celda se pisa accidentalmente. Es una fórmula difícil de ingresar en una celda, pero esta pequeña utilidad la arregla instantáneamente.
En realidad, esto es solo un truco de programación simple, pero hace que ingresar la fórmula en su código VBA sea bastante fácil.
fuente
Todas las comillas dobles dentro de comillas dobles que rodean la cadena deben cambiarse al doble. Como ejemplo, tuve una de las cadenas de archivos json: "entrega": "Estándar", en Vba Editor lo cambié a "" "entrega" ":" "Estándar" "," y todo funciona correctamente. Si tiene que insertar muchas cadenas similares, mi propuesta primero, insértelas todas entre "", luego con el editor de VBA reemplace "dentro de" ". Si se equivoca, el editor de VBA muestra esta línea en rojo y usted corregirá este error.
fuente
Prefiero la respuesta de tabSF. implementando lo mismo en su respuesta. aquí abajo está mi enfoque
fuente
He escrito una pequeña rutina que copia la fórmula de una celda al portapapeles que se puede pegar fácilmente en el Editor de Visual Basic.
Se publicó originalmente en la sección Vault de los foros de Chandoo.org .
fuente