Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4204 / 76734 ←次へ | 前へ→

【78155】RC数式の一括入力が認識されません
質問  けんじ  - 16/4/28(木) 0:59 -

引用なし
パスワード
   元々は計算式ごとにセルに入力していたけど、従業員全員に対して繰り返す処理をする際に時間がかかることから、一括して入力するように修正したら、数式として認識してくれなくなりました。
ただし、モジュール終了後に、
1.RC形式を使用するのチェックを付け
2.入力し直し(F2 & Enter)すると、認識します。


Function 計算式1(r as range) as string
計算式1 = "ホニャララ"
'計算式2と計算式3も同様
End Function

sub 問題となっている代入()
Const 計算式1str = "=計算式1(RC[" & 対象列 - 計算式1列 & "])"
Const 計算式2str = "=計算式2(RC[" & 対象列 - 計算式2列 & "])"
Const 計算式3str = "=計算式3(RC[" & 対象列 - 計算式3列 & "])"
Const 合計式str = "=sum(RC[-3]:RC[-1])"
'実際は、計算式はもっといっぱいある。


Dim FuncStr() As String: ReDim FuncStr(日数, 合計列 - 計算式1列 + 1)

For i = 1 To 日数
  FuncStr(i, 計算式1列 - 23) = 計算式1str
  FuncStr(i, 計算式2列 - 23) = 計算式2str
  FuncStr(i, 計算式3列 - 23) = 計算式3str
  FuncStr(i, 合計列 - 23) = 合計式str
Next
'次の代入は、以前はFuncstrを使わずに直接、かつ計算式毎に代入していた。
シート.Cells(入力開始行, 計算式1列).Resize(日数, 合計列 - 計算式1列).FormulaR1C1 = FuncStr

'次の式を入れるとそのセルのみ、ちゃんと数式として認識します。
シート.Cells(入力開始行, 計算式1列).Formula = シート.Cells(入力開始行, 計算式1列).Formula

end sub

何が問題なんだか分りません。
教えていただけると大変助かります。

5 hits

【78155】RC数式の一括入力が認識されません けんじ 16/4/28(木) 0:59 質問[未読]
【78156】Re:RC数式の一括入力が認識されません けんじ 16/4/28(木) 1:16 発言[未読]
【78157】Re:RC数式の一括入力が認識されません β 16/4/28(木) 6:47 発言[未読]
【78158】Re:RC数式の一括入力が認識されません β 16/4/28(木) 7:21 発言[未読]
【78159】Re:RC数式の一括入力が認識されません けんじ 16/4/28(木) 9:14 お礼[未読]

4204 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free