2017-09-01 10 views
0

配列を範囲にダンプしようとすると、1004というエラーが表示されますが、括弧を含む配列に数式がある場合のみです。範囲に数式を割り当てるときのVBAエラー1004

Dim DataArray(27, 11) as Variant 
Dim wod as Worksheet 
dim rng as Range 
Dim d as Range 
Dim ArrayEnd as Integer 

これは私が括弧を削除した場合これは、問題の一部であり、私の配列

For y = 0 To lastrowo 
        If Not IsEmpty(d.Offset(y, 0).Value) Then 
         DataArray(y, 0) = d.Offset(y, 0).Value2 
         DataArray(y, 1) = d.Offset(y, 10).Value2 
         DataArray(y, 2) = d.Offset(y, 14).Value2 
         DataArray(y, 3) = d.Offset(y, 16).Value2 
         DataArray(y, 4) = d.Offset(y, 19).Value2 
         DataArray(y, 5) = d.Offset(y, 22).Value2 
         DataArray(y, 6) = d.Offset(y, 25).Value2 
         DataArray(y, 7) = "=ROUND(F" & y + 3 & "-G" & y + 3 & ";0)" 
         DataArray(y, 8) = "=G" & y + 3 
         DataArray(y, 9) = d.Offset(y, 28).Value2 
         DataArray(y, 10) = d.Offset(y, 31).Value2 
         DataArray(y, 11) = d.Offset(y, 36).Value2 

です ";"それはすべて動作します。

DataArray(y, 7) = "=ROUND(F" & y + 3 & "-G" & y + 3 & ";0)" 

そして、これは私がエラー

Set rng = wod.Range("A3:L" & ArrayEnd + 3) 
         rng = DataArray 

を取得する場所私もこの変形

"=ROUND" & Chr(40) & "F" & y + 3 & "-G" & y + 3 & Chr(59) & "0" & Chr(41) 

と式を交換しようと、これはそれが私の配列

にどのように見えるかです

Watch

+1

';'の代わりに '、'を試しましたか? – IQV

+0

それが何をしたのか、ローカリゼーションが再び襲ってきます。 – PRKNS

答えて

0

VBAからExcelに送信される数式では、米国英語の形式を使用する必要があります。 a、

関連する問題