Voglio inserire un'istruzione if in una cella tramite vba che include le doppie virgolette.
Ecco il mio codice:
Worksheets("Sheet1").Range("A1").Value = "=IF(Sheet1!B1=0,"",Sheet1!B1)"
A causa dei doppi apici sto avendo problemi con l'inserimento della stringa. Come posso gestire i doppi apici?
Trovo che il modo più semplice sia quello di raddoppiare le virgolette per gestire una citazione.
Worksheets("Sheet1").Range("A1").Formula = "IF(Sheet1!A1=0,"""",Sheet1!A1)"
Ad alcune persone piace usare CHR(34)*:
Worksheets("Sheet1").Range("A1").Formula = "IF(Sheet1!A1=0," & CHR(34) & CHR(34) & ",Sheet1!A1)"
*Nota: CHAR() si usa come formula di cella di Excel, per esempio scrivendo "=CHAR(34)" in una cella, ma per il codice VBA si usa la funzione CHR().
Tutti i doppi apici dentro i doppi apici che circondano la stringa devono essere cambiati raddoppiati. Come esempio avevo una delle stringhe del file json: "delivery": "Standard", In Vba Editor l'ho cambiata in """delivery"": ""Standard""," e tutto funziona correttamente. Se dovete inserire molte stringhe simili, la mia proposta è di inserirle tutte tra "", poi con VBA editor sostituite " all'interno in "". Se fate un errore, l'editor VBA mostra questa linea in rosso e correggerete questo errore.