投稿時間:2003/01/20(Mon) 16:55 投稿者名:かず
Eメール:
URL :
タイトル:Re^2: セルの検索を行う
レスが遅れてしまって大変もうしわけありません。 もう少しプログラムの方を詳しく掲載しますと以下になります。
-------------------------------------------------------------------- Sub main()
Dim objExl As Object 'Excelオブジェクト ハンドラ Dim StrSerial As String 'テキストボックスに値をセット 格納変数
Set objExl = CreateObject("Excel.Application") 'Excel Object を作成 Set Book = objExl.Workbooks.Open("c:\test.xls") 'Excelファイルを開く Set Sheet = Book.Worksheets(1) StrSerial = Form1.Text1.Text 'テキストボックスにシリアル番号をセット
'Form1のテキストボックスに入れた値をtest.xlsの中で検索する Cells.Select Selection.Find(What:=StrSerial, After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False).Activate
'行番号と列番号を表示する Form1.Text1.Text = "行番号=" & Sheet.Cells.Find(StrSerial).Row & _ " 列番号=" & Sheet.Cells.Find(StrSerial).Column End Sub
----------------------------------------------------------------------------- 最初の投稿のときに書いたのですが、test.xlsの中にヒットする文字列があるとき、 若い行(検索に時間がかからない)の場合は、エラーメッセージはでずに、正常に 処理が動くのですが、 後の行(検索に時間がかかる)の場合は、 「他のアプリケーションが・・・」というエラーメッセージがでます。 ちなみにエクセルファイルの大きさは5MBで行数は6000行です。
エラーになる個所は
Selection.Find(What:=StrSerial, After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False).Activate
ここの部分です。
以上、宜しくお願い致します。
|