2017-07-26 37 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 = "="""""