- ベストアンサー
vb.netからエクセル関数書き込み
vb.net2008を使用しております。 vb.netから エクセルの ”L2” のセルに ”K2/H2” という 計算式を入れたいのですが どのようなやり方があるのでしょうか? よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#2です。 >現状 FOR~NEXT で K2~K50 H2~H50 まで >数値を書いています。 このループが終わった後に xlSheet.Range("L2:L50").Formula = "=K2/H2" とやれば数式は一気に入りますけど。 値として入れるなら、For~Nextのループ内に xlSheet.Range("L" & 行を決める変数).Value = K列に代入する変数 / H列に代入する変数 とするだけかな?(ループのコーティングがわからないので何とも)
その他の回答 (3)
- n-jun
- ベストアンサー率33% (959/2873)
#3です。 ループ後に xlSheet.Range("L2:L50").Formula = "=K2/H2" xlSheet.Range("L2:L50").Value = xlSheet.Range("L2:L50").Value でもいけるかな?
- n-jun
- ベストアンサー率33% (959/2873)
#1です。 >xlSheet.Range("L2").Formula = "=K2/H2" xlSheet.Range("L2:L10").Formula = "=K2/H2" など? ExcelVBAと同じかと。
お礼
たびたびの回答ありがとうございます。 現状 FOR~NEXT で K2~K50 H2~H50 まで 数値を書いています。 その割り算の結果を L2~L50 へ 入れるために セルに式をいれたいのです。 FOR~NEXTで ぐるぐるまわすのですが その場合 どうコーティングしていいのかわかりません。 説明不足で申し訳ありません。 よろしくお願いします。
- n-jun
- ベストアンサー率33% (959/2873)
Dim xlApp As Excel.Application = Nothing Dim xlBooks As Excel.Workbooks = Nothing Dim xlBook As Excel.Workbook = Nothing Dim xlSheet As Excel.Worksheet = Nothing xlApp = New Excel.Application() xlBooks = xlApp.Workbooks xlBook = xlBooks.Open("C:\Test.xls") xlSheet = xlBook.Worksheets("Test") xlApp.Visible = True xlSheet.Range("L2").Formula = "=K2/H2" 例えばこんな感じとか?
お礼
ありがとうございます。 入れることはできました。 ただ 実際は 列ごとにすべてのデータを入れたいのですが・・・ ”L2” のセルに ”K2/H2” ”L3” のセルに ”K3/H3” ”L4” のセルに ”K4/H4” . . . . という感じです。 初心者ですいませんが よろしくお願いします。
お礼
すいませんでした。 ありがとう ございます。 できました。