投稿時間:2003/10/06(Mon) 15:22 投稿者名:のんちゃん
URL :
タイトル:エクセルにワークシート関数が正しく出力されない
のんちゃんと申します。初めて書き込みます。
VBからエクセルに値(ワークシート関数)を出力する際に、 配列渡しで行うとワークシート関数が文字列として出力され てしまいます。セルごと値を設定すると正しく出力されるの ですが、レスポンスの問題があり、どうしても配列渡しで行 いたいのです。 下記にあるコードで配列渡しを行いました。 環境はWin2000、VB6SP5、Office2000です。 良い方法をご存知の方是非教えてください。宜しくお願いします。
Dim oExcel As Object 'エクセルオブジェクト Dim Hairetsu(7, 1) As String '2次元配列 Dim intI As Integer 'カウンター Dim intJ As Integer 'カウンター
'以下の4行でエクセルオブジェクトを取得し、処理を行うシートを選択する。 Set oExcel = GetObject("c:\Book1.xls") oExcel.Application.Visible = True oExcel.Parent.Windows(1).Visible = True oExcel.Application.Sheets("Sheet1").Select
'エクセルシートに表示するための数値を配列に格納する。 For intJ = 0 To 1 For intI = 0 To 6 Hairetsu(intI, intJ) = intI Next intI Next intJ
'ワークシート関数を配列に追加する。 Hairetsu(7, 0) = "=SUM(A1:A7)" Hairetsu(7, 1) = "=AVERAGE(B1:B7)"
'指定したセルブロックに配列の値を出力する。 oExcel.Application.Range("A1:B8").Value = Hairetsu
|