2012-11-28 17 views
5

Nel mio codice VBA corrente, ho una query in cui sto usando Chr(34) per mettere le virgolette tra alcune delle mie variabili.Virgolette in VBA

Mi chiedevo quali alternative esistono a questo. Questa è una domanda semplice, lo so, ma non ho avuto alcun successo con le virgolette che si ripetono come questo

" & variabile stringa qui & "

Il mio codice è disordinato per uno e non comprensibile per le persone che non hanno familiarità con VBA:

comboService = Chr(34) & Me.Combo8.Value & Chr(34) 

Inoltre, questo non ha funzionato:

comboService = """" & Me.Combo8.Value & """" 

Puoi dirmi perché?

Grazie in anticipo.

+3

Questo: '" "" "& Me.Combo8.Value e" "" "' funziona in VBA. Quale errore o problema stai ottenendo? – RBarryYoung

+0

Puoi aggiungere un esempio più dettagliato a pls. Non è chiaro quante virgolette desideri aggiungere. – brettdj

+0

Scusa, ho appena corretto il mio errore. Sto solo cercando di aggiungere 1 virgolette. Sto usando il valore della variabile 'comboService' in una query. –

risposta

5

questo:

comboService = """ & Me.Combo8.Value & """ 

è ciò che hai postato, ma è necessario aggiungere un virgoletta in più per aggiungere un segno di citazione letterale:

comboService = """" & Me.Combo8.Value & """" 

virgolette all'interno di una stringa sono cosa stai cercando.

aVar = "This: "" is a literal quotation mark" 
3

ho preso una pagina da MS (il vecchio vbCrLf) un po 'indietro, e basta definire i caratteri "difficili" Ho bisogno come una stringa nella parte superiore del mio codice ...

dim vbDblQuote As String vbDblQuote = Chr (34)

Ora si può solo usare quella pseudo-costanti come costruire le stringhe ...

strMyString = "solo un'altra stringa" & vbDblQuote & "con le virgolette" & vbDblQuote & "!"

Questo rende il codice più leggibile, e aiuta anche a evitare di "errori di citazione miscounted"

+0

Sono arrivato a questa pagina alla ricerca di una soluzione per un comportamento molto strano. Utilizzando Excel 2013 su Windows 7, ho una funzione che inserisce una stringa lunga che contiene numerose virgolette doppie incorporate in una cella del foglio di lavoro. Più tardi voglio copiare il contenuto della cella da Excel e inviarlo ad un altro programma. Quando lo faccio, ogni doppia quota è raddoppiata nella destinazione. La soluzione era una macro che mette il contenuto della cella selezionata su una finestra di messaggio, dalla quale può essere copiato correttamente. –

0

ho trovato lo stesso comportamento se mi output in un file utilizzando il comando Write. Ogni doppia virgoletta viene ripetuta.

Tuttavia, se si costruisce la stringa e quindi si esegue l'output su file utilizzando il comando Stampa, ciò non accade e tutto funziona come previsto.