• ベストアンサー

vb.netからエクセル関数書き込み

vb.net2008を使用しております。 vb.netから エクセルの ”L2” のセルに ”K2/H2” という 計算式を入れたいのですが どのようなやり方があるのでしょうか? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.3

#2です。 >現状 FOR~NEXT で K2~K50 H2~H50 まで >数値を書いています。 このループが終わった後に xlSheet.Range("L2:L50").Formula = "=K2/H2" とやれば数式は一気に入りますけど。 値として入れるなら、For~Nextのループ内に xlSheet.Range("L" & 行を決める変数).Value = K列に代入する変数 / H列に代入する変数 とするだけかな?(ループのコーティングがわからないので何とも)

to727jp
質問者

お礼

すいませんでした。 ありがとう ございます。 できました。

その他の回答 (3)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.4

#3です。 ループ後に xlSheet.Range("L2:L50").Formula = "=K2/H2" xlSheet.Range("L2:L50").Value = xlSheet.Range("L2:L50").Value でもいけるかな?

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

#1です。 >xlSheet.Range("L2").Formula = "=K2/H2" xlSheet.Range("L2:L10").Formula = "=K2/H2" など? ExcelVBAと同じかと。

to727jp
質問者

お礼

たびたびの回答ありがとうございます。 現状 FOR~NEXT で K2~K50 H2~H50 まで 数値を書いています。 その割り算の結果を L2~L50 へ 入れるために セルに式をいれたいのです。 FOR~NEXTで ぐるぐるまわすのですが その場合  どうコーティングしていいのかわかりません。 説明不足で申し訳ありません。 よろしくお願いします。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

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" 例えばこんな感じとか?

to727jp
質問者

お礼

ありがとうございます。 入れることはできました。 ただ 実際は 列ごとにすべてのデータを入れたいのですが・・・ ”L2” のセルに ”K2/H2” ”L3” のセルに ”K3/H3” ”L4” のセルに ”K4/H4” . . . . という感じです。  初心者ですいませんが よろしくお願いします。

関連するQ&A

専門家に質問してみよう