投稿日 | : 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())
で、できます。
> 何分初心者のため、基本的な知識がかなり欠落しておりますので
> その辺を踏まえ返信をいただけたら幸いです。