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

投稿日: 2002/11/14(Thu) 17:18
投稿者A221
Eメール
URL
タイトルRe^3: VBでのExcel関数の利用

> <1>
> Set xlApp = New Excel.Application
>  'ここで、xlsheetにシートオブジェクトを割り当ててください。
>         ↑
>   具体的にはどうすればよいのでしょうか?

Set XlBook = Xlapp.Workbook.Open("C:\Filename.Xls")
Set Xlsheet = XlBook.WorkSheets("Sheet1")

こんなカンジでSheetオブジェクトを与えてやります。

> <2>
> > Call RangeToDim("d1:E30", Xdim)
> > Call RangeToDim("F1:G30", Ydim)
>            ↑
>     この部分は何を意味しているのでしょうか?

えーと、RangeオブジェクトにRangeを与えています。
#テストした環境は"d1:E30"と"F1:G30"に数値が入っていましたので。
 
>  <3>
> > Sub RangeToDim(ByVal X As String, ByRef Y As Variant)
> > Dim xlrange As Excel.Range
> > Dim tmpdim As Variant
> >
> > Dim i As Long
> > Dim j As Long
> > Dim ColCount As Long
> >
> > Set xlrange = xlSheet.Range(X)
> > tmpdim = xlrange.Formula
> > ColCount = xlrange.Count \ UBound(tmpdim)
> > For i = 1 To UBound(tmpdim)
> >     For j = 1 To ColCount
> >         tmpdim(i, j) = CLng(tmpdim(i, j))
> >     Next j
> > Next i
> > Y = tmpdim
> > End Sub
>  Set xlrange = xlSheet.Range(X)のところでオブジェクト変数
> またはWithブロック変数が設定されていませんというエラーメッセ
> ージが出るのですが、どう対処すべきでしょうか。

xlSheetにSheetオブジェクトが割り当てられていないために発生したものです。

> <4>
> 上記のコードはデータを収納する配列を作成するSubプロシージャ
> だと思うのですが、私が計算に用いたいデータをどうしたら、この
> 配列に組み込むことが出来るのでしょうか。

えーと、別投稿を読んでみたのですが、SQLでMDBから読んでくるということですが、
Variant型の変数に入れることによりいけそうですね。

読んできたデータがどのようなものか分からないのですが、一例としては

読んできたデータが配列 Testに格納済みならば、

Dim X as Variant
X=Array(Test())

で、できます。

> 何分初心者のため、基本的な知識がかなり欠落しておりますので
> その辺を踏まえ返信をいただけたら幸いです。


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

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

- Web Forum -