Ik wil via vba in een cel een if-statement invoegen waarin dubbele aanhalingstekens staan.
Hier is mijn code:
Worksheets("Sheet1").Range("A1").Value = "=IF(Sheet1!B1=0,"",Sheet1!B1)"
Door de dubbele aanhalingstekens heb ik problemen met het invoegen van de string. Hoe ga ik om met dubbele aanhalingstekens?
Ik vind het het gemakkelijkst om de aanhalingstekens te verdubbelen om een citaat te verwerken.
Worksheets("Sheet1").Range("A1").Formula = "IF(Sheet1!A1=0,"""",Sheet1!A1)"
Sommige mensen gebruiken graag CHR(34)*:
Worksheets("Sheet1").Range("A1").Formula = "IF(Sheet1!A1=0," & CHR(34) & CHR(34) & ",Sheet1!A1)"
*Note: CHAR() wordt gebruikt als een Excel celformule, b.v. door "=CHAR(34)" in een cel te schrijven, maar voor VBA code gebruik je de CHR() functie.
Alle dubbele aanhalingstekens binnen dubbele aanhalingstekens die de string omringen moeten verdubbeld worden. Als voorbeeld had ik een van json file strings : "delivery": "Standard", In Vba Editor veranderde ik het in """delivery"": ""Standard""," en alles werkt correct. Als je veel gelijksoortige strings moet invoegen, is mijn voorstel om ze eerst allemaal tussen "" te zetten, en dan met VBA editor " binnenin te vervangen door "". Als u een fout maakt, zal VBA editor deze regel in het rood weergeven en u zult deze fout herstellen.