范围内的VBA设定公式 - 问题

时间:2017-07-26 07:50:32

标签: vba excel-vba excel-formula excel

我有以下问题。我想在不同的单元格中填写公式(=""),有必要填写这种公式,而不是由于另一个文件的处理而使单元格为空。但是,如果我循环遍历不同的单元格,请按以下方式:

For Col = 10 To 99
    For Row = 10 To 11
        If Col Mod 3 <> 0 Then
           Worksheets(name_sheet).Range("A1").Offset(Row - 1, Col - 1).Formula = "="""
           Worksheets(name_sheet).Range("A1").Offset(Row - 1, Col - 1).Locked = True
           Worksheets(name_sheet).Range("A1").Offset(Row - 1, Col - 1).Interior.ThemeColor = xlThemeColorLight2
           Worksheets(name_sheet).Range("A1").Offset(Row - 1, Col - 1).Interior.TintAndShade = 0.799981688894314
       End If
    Next Row
Next Col

然后我收到一个无法分配公式的错误。不过我看不出错误会产生什么。

非常感谢你的帮助

亲切的问候 克劳德

3 个答案:

答案 0 :(得分:2)

当您尝试通过VBA将"放入单元格时,这有点令人困惑。你需要用" ...

来逃避它

试试这个:

"="""""

答案 1 :(得分:2)

我喜欢使用Chr(34)来获取双"符号:

Worksheets(name_sheet).Range("A1").Offset(Row - 1, Col - 1).Formula = "=" & Chr(34) & Chr(34)

答案 2 :(得分:1)

您可能必须转义引号,因此它们不会被解释为用于分隔字符串的引号。

例如,使用

Worksheets(name_sheet).Range("A1").Offset(Row - 1, Col - 1).Formula = "="""""