在excel单元格中的文本周围放置1个双引号而不是2个单引号

时间:2013-06-11 19:21:01

标签: excel vba

目前,我有一个包含所有基数和字母的工作表。我希望所有包含文本的单元格都用引号括起来。下面的代码在所有单元格周围放置两个单引号。有没有办法在文本的双引号上放置?

无论我是使用VBA还是尝试在excel中执行此操作,我总是收到错误。

Sub Macro2()
'
' Macro2 Macro
'

'
    Range("B:B,D:D,F:F").Select
    Range("B1").Activate
    Selection.NumberFormat = """''""@""''"""
    Columns("G:G").Select
    Selection.NumberFormat = "mm/dd/yy;""''"" @""''"""
    Columns("E:E").Select
    Selection.NumberFormat = """''""d-mmm""''"""
    Columns("C:C").Select
    Selection.NumberFormat = """''""m/d/yyyy""''"""

    Dim LRow As Long
'
    LRow = Cells(Rows.Count, "A").End(xlUp).Row


    Range("I1").Select
    ActiveCell.FormulaR1C1 = "=""''""&0&RC[-8]&""''"""
    Range("I1").Select
    Selection.AutoFill Destination:=Range("I1:I" & LRow), Type:=xlFillDefault
    Columns("I:I").Select
    Selection.Copy
    Columns("A:A").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Columns("I:I").Select
Selection.Delete Shift:=xlToLefT

End Sub

2 个答案:

答案 0 :(得分:0)

例如

Selection.NumberFormat = "\""@\"""

因为带引号的字符串中的引号为“”而前缀为\以将其作为数字格式字符转义; - )

答案 1 :(得分:0)

对于双引号,请尝试使用Chr(34)

Sub DoubleQuotes
    Dim str as string

    str = "This has double quotes"
    Debug.Print chr(34) & str & chr(34) //Prints "This has double quotes"
End Sub