VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -