[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/08/11(Thu) 00:41
投稿者名:ふにゃー
Eメール:
URL :
タイトル:
エクセルの操作のについて
エクセルの操作の途中で、

    (1) xlSheet.Range("a1", "b2").select
    (2) xlSheet.Range(Cells(1, 1), Cells(2, 2)).select

上記のように、Rangeメソッドを用いてセルに数値を入力しているのですが、
何故だか分からないんですが、(1)を用いた場合は、エラーなく動くのですが、
(2)を用いるとなぜか、エラーがでて動きません。

状況としては少し、ややこしいのですが今作ってるプログラムは、まずはじめに
VBでエクセルを参照にして数値を読み込む、一旦エクセルを閉じて、VBで計算後、
もう一度VBでエクセルを起動させて、計算結果を書き込むといったものなんですが、
最初の数値を読み込む場面では、(1) ,(2)ともに使用できるのですが、
再起動後は、(1)のみ使用可能で、(2)を用いるとエラーがでます。
任意のセルに読み込みたい関係で、どうしても(2)の方を使用したいんです。

投稿時間:2005/08/11(Thu) 04:41
投稿者名:LESIA
Eメール:
URL :
タイトル:
Re: エクセルの操作のについて
>     (2) xlSheet.Range(Cells(1, 1), Cells(2, 2)).select

Cells(1, 1)とCells(2, 2)が、どのシートのセルなのかを
指定してないからでしょう。
エクセルのVBAだと、シートを省略するとアクティブなシートの
セルを参照しますが、VBからエクセルを操作する場合は、VBは
アクティブなシートがどれなのかを判断する機能は持ってないので
シートを省略することが出来ません。

xlSheet.Range(xlSheet.Cells(1, 1), xlSheet.Cells(2, 2)).select
と、しましょう。

投稿時間:2005/08/11(Thu) 04:57
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: エクセルの操作のについて
ここで、Excel関係の質問されるのなら、[Excel&Word関係]をご覧になってから
するようにして下さい。
今回の件は、最初の所に書いてありますよ。

VBからExcel及びWordを操作する時の注意事項(最初に必ずお読み下さい)
hhttp://www.bcap.co.jp/hanafusa/VBHLP/caution.htm

投稿時間:2005/08/11(Thu) 22:30
投稿者名:ふにゃー
Eメール:
URL :
タイトル:
Re: エクセルの操作のについて
ありがとうございました
エクセルの操作の部分を読んでいたつもりだった
のですが、その部分を注意して読んでいませんでした。
シートがアクティブじゃなくなっていたのが、原因だったのですね
助かりました。