2012-01-16 1 views
1

を割り当てる際機能を使用して、私はExcelのマクロを経由してセルに数式を割り当てよう:

Worksheets("Jan").Cells(30,J).Formula= "=ADDRESS(24;3)" 

これは動作しません。 "=1+1"のような数式を割り当てることができます。

奇妙なことは、上記の式をExcelに直接セルに入力すると動作することです。私は何が欠けていますか?

答えて

1

さて、このコード行にはいくつか問題があります。 Jが示されていない変数である場合を除き、.Cells(30,J)はまた、"=ADDRESS(24;3)""=ADDRESS(24,3)"あるべき.Cells(30, "J")

でなければなりません。セミコロンではなく、コンマで値を区切ります。

+0

マクロでは、カンマを使用し、Excelでセミコロンを使用する必要がある理由はありますか? – TheJoeIaut

+0

私は2010年にExcelを使用していますが、Excelの結果にはセミコロンを使用するとエラーになります。あなたはセミコロンがあなたのために働いていたと確信していますか? –

+3

その理由は.Formulaは、ロケールの設定に関係なく、区切り文字などに米国規則を使用するためです。 –

0

別の方法としては、このようなものを使用することです: 'ワークシート( "月")細胞(30、 "J")値= "= ADDRESS(24,3)"。' を

このアプローチします文字列 "= ADDRESS(24,3)"を指定したセルに挿入します。

お望みのことはありますか?


更新:ロケール設定の問題: 1)他の人が正しく識別し、実際の問題を解決しているように見えます。 2)Microsoft helpも、「式」のアドレッシングが式を入力する正しい方法であることを示しています。そのため、私の提案はトラブルシューティングのステップとして役立ちますが、これを実行する最善の方法ではありません。