• ベストアンサー

VB.NETでエクセル操作

度々失礼します。 VBよりエクセルを開けて A列の数字の合計とB列の数字の合計との差を Label1に表示するようなソースで悩んでます。 教えて下さい。よろしくお願い致します。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

Dim excel As Object excel = GetObject("D:\sample\test.xls") dim sumA as integer = excel.Application.WorksheetFunction.Sum(excel.Sheets("Sheet1").Range("A:A")) dim sumB as integer = excel.Application.WorksheetFunction.Sum(excel.Sheets("Sheet1").Range("B:B")) みたいな感じで、A列とB列の合計が求められます

taiyo99
質問者

お礼

BLUEPIXY 様 早速のご回答でありがとうございます。 返事が遅くなりまして、申し訳ございませんでした。 質問させて頂きました悩みは解決しました。 ちなみにエクセルを開いた後、オートフィルタの検索値を合計するにはどうすればよいのでしょうか? Subtotalは使用できませんよね? よろしくお願い致します。

taiyo99
質問者

補足

今現在のソースです。 Dim app As Object Dim book As Object Dim sheet As Object Dim Selection As Object app = CreateObject("Excel.Application") app.application.visible = True book = app.Workbooks.Open("C:\xxx.xls") sheet = book.Worksheets(1) With sheet.Range("A1") If .AutoFilter Then .AutoFilter(field:=1, Criteria1:=TextBox1.Text) End With Dim sumA As Integer = app.WorksheetFunction.sum(sheet.Range("C:C")) Dim sumB As Integer = app.WorksheetFunction.sum(sheet.Range("D:D")) Label1.Text = sumA + sumB

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>Subtotalは使用できませんよね? 使えますよ

taiyo99
質問者

お礼

BLUEPIXY 様 解決しました。ありがとうございました。

関連するQ&A

専門家に質問してみよう