Excel VBA質問箱 IV

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

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


1475 / 13646 ツリー ←次へ | 前へ→

【74229】数式を配列に入れて貼り付けたい タカシ 13/4/30(火) 23:40 質問[未読]
【74230】Re:数式を配列に入れて貼り付けたい Abyss 13/5/1(水) 0:01 発言[未読]
【74235】Re:数式を配列に入れて貼り付けたい タカシ 13/5/1(水) 9:10 お礼[未読]
【74231】Re:数式を配列に入れて貼り付けたい UO3 13/5/1(水) 0:05 発言[未読]

【74229】数式を配列に入れて貼り付けたい
質問  タカシ  - 13/4/30(火) 23:40 -

引用なし
パスワード
   現在、数式を配列に入れて、セルに一括で貼り付けたいと考えています。下のような方法で数式は貼り付けることができるのですが、計算結果が表示されずに数式がそのまま表示されてしまいます。数式をF2で選択して、決定キーを押すと計算されるのですが。どうにかvbaでうまく処理する方法はあるのでしょうか?
御存じの方いらっしゃいましたら、ご教授いただけると助かります。よろしくお願いいたします。

Sub 例()
Dim data() As String,i as long
ReDim data(1 To 3)
For i = 1 To 3
'R1C1形式で数式をつくり、A1形式に変換
data(i) = Application.ConvertFormula("=R1C" & i, xlR1C1, xlA1)
Next i
range("A2").Resize(1, UBound(data)).Formula = data '一括で貼り付け
End Sub

【74230】Re:数式を配列に入れて貼り付けたい
発言  Abyss  - 13/5/1(水) 0:01 -

引用なし
パスワード
   こんな風にしてみてください。

Sub 例2()
  Dim data() As String, i As Long
  ReDim data(1 To 3)
  For i = 1 To 3
    'R1C1形式で数式をつくり、A1形式に変換
    data(i) = Application.ConvertFormula("=R1C" & i, xlR1C1, xlA1)
  Next i
  With Range("A2").Resize(1, UBound(data))
    .Formula = data '一括で貼り付け
    ' ↓お呪いとして。
    .FormulaLocal = .FormulaLocal
  End With
End Sub

【74231】Re:数式を配列に入れて貼り付けたい
発言  UO3  - 13/5/1(水) 0:05 -

引用なし
パスワード
   ▼タカシ さん:

こんばんは

Dim data() As String



Dim data() As Variant

にしてお試しください。

ところで、このコード、以下のようにも書くことができます。
(配列の勉強ということなら以下は無視してください。)


Sub Sample()
  Range("A2").Resize(, 3).Formula = "=A1"
End Sub

【74235】Re:数式を配列に入れて貼り付けたい
お礼  タカシ  - 13/5/1(水) 9:10 -

引用なし
パスワード
   みなさん、ありがとうございました。解決いたしました。
VBAは奥が深いですね。もっと勉強します。

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