2017-07-26 84 views
1

我有以下问题。我想在不同的单元格中填写公式(=""),因此有必要填写这种公式,而不是由于其他文件处理而使单元格为空。但是,如果我遍历不同小区,以下面的方式:范围内的VBA设置公式 - 问题

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 

然后我收到错误,该公式不能被分配。不过,我不知道错误会产生什么。

非常感谢您的帮助

亲切的问候 克劳德

+1

[在VBA放置在双引号内的String]的可能的复制(https://stackoverflow.com/questions/42960548/placing-double-quotes-within-a- string-in-vba) –

回答

2

当您尝试通过VBA把"细胞它有点混乱。您需要"逃吧......

试试这个:

"=""""" 
+0

非常感谢,只是在公式中没有足够的“小错误”,我想写公式=“”并将它转换成代码,我错过了一些“”。非常感谢 –

+0

@ClaudeG记住,你可以随时记录一个宏,把这样的公式放在一个单元格中,并检查自动生成的代码。 –

+0

是的,我甚至忘记了这个小窍门:( –

2

我喜欢用Chr(34)拿到双"符号:

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

你可能有逃避报价,所以它们不会被解释为分隔你的字符串的引号。

例如,使用

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