web-dev-qa-db-ja.com

VBAを使用してExcelセルに数式を書く

VBAを使用して、Excelのセルに数式を書き込もうとしています。私の問題は、セミコロン(;)式で、エラーが発生します。

Run-time error 1004

私のマクロは次のとおりです:

Sub Jours_ouvres()
    Dim Feuille_Document As String
    Feuille_Document = "DOCUMENT"        
    Application.Worksheets(Feuille_Document).Range("F2").Formula = "=SUM(D2;E2)"    
End Sub
20
Matthieu

Formulaの代わりにFormulaLocalプロパティを使用してみてください。その後、セミコロンが機能するはずです。

20
Mikko

この場合に使用する正しい文字は、完全なコロン(:)、セミコロンではありません(;)。

5
e.James

Treb、Matthieuの問題は、英語以外の言語でExcelを使用したことが原因でした。多くの言語バージョンでは「;」正しい区切り文字です。関数も翻訳されます(SUMはSOMMA、SUMME、または使用する言語に応じて何でもかまいません)。 Excelは一般にこれらの違いを理解し、フランス語で作成したブックをブラジル人が開いた場合、通常は問題ありません。しかし、[〜#〜] vba [〜#〜]はアメリカ英語のみを話すため、1つ(またはそれ以上)の外国語を話す私たちにとって、これは頭痛の種になります。あなたとCharlesBはどちらも米国のユーザーには問題ないだろう答えを出しましたが、ミッコは本当の問題を理解し、正しい答えを与えました(私にとっても正しいものでした-私はドイツ語を話すためにイタリアで働いている英国人です)会社)。

5
DiGiMac

正しい文字(コ​​ンマまたはコロン)は、目的によって異なります。

コンマ (,)は、問題の2つのセルのみを合計します。

コロン(:)は、範囲内のすべてのセルを、それらの2つのセルで定義された角で合計します。

5
KnomDeGuerre