VBA初心者です。
未特定の行のデータシートの行数を調べて、その行数分特定の列に関数を入れるようなVBAを作成中です。
現在、下記のようなコーディングをしているのですが、セルに入れるものが関数になった時点で分からなくなりました。

Private Sub CommandButton1_Click()
Dim rs As Integer
rs = Range("D2").End(xlDown).Row
Dim Ka As Integer
Ka = ' →ここに数式を入れる方法が分かりません!
Range(Cells(2, 5), Cells(rw, 5)) = Ka
Worksheets("Sheet2").Activate
MsgBox ("成功" & rs)
End Sub

こんな感じなんですが、宜しくお願いします。

A 回答 (2件)

こんな感じでしょうか。



Private Sub CommandButton1_Click()
Dim rs As Integer
rs = Range("D2").End(xlDown).Row
Dim Ka As String ’文字列にしました
Dim rCot As Integer '行カウンタ
For rCot = 2 To rs ’算式を作るためにループさせています
'<例>E列にはC列の100倍とE列を加算の式を入れる場合
'E2=C2*100+D2 右辺の2が行数で変わるので変数にする。後は文字列の結合
Ka = "=C" & rCot & "*100+D" & rCot
'Rangeの中にCellsを持ち込むと分かりにくいのでOffsetにしました
Range("D2").Offset(rCot - 2, 1).Formula = Ka
Next
Worksheets("Sheet2").Activate
MsgBox ("成功" & rs)
End Sub
    • good
    • 0
この回答へのお礼

nishi6さん!ありがとうございました。いつもありがとうございます。
ちょっとエラーが出てしまいましたが、今回は理屈が理解できました。とりあえず成功しました。

お礼日時:2001/06/05 21:41

質問の意味を取り違えていたら、ごめんなさい。



Range(Cells(2, 5), Cells(rw, 5)) に、関数を入れたいのなら、

Range(Cells(2, 5), Cells(rw, 5)).Formula="=$A$1+$A$2"

見たいな感じにすれば、関数そのものが入ります。
後は、特定の列全体に関数を入れるように、for等を使えば、出来そうな気がします。

どうでしょう?
    • good
    • 0
この回答へのお礼

ryotagさん!ありがとうございました。完璧です!
最後のメッセージボックス "成功" を無事に見れるとことが出来ました。

お礼日時:2001/06/05 21:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ