• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB2005からエクセルの操作)

VB2005からエクセルの操作

このQ&Aのポイント
  • VB2005でエクセルファイルを操作する方法を教えてください
  • 指定したエクセルファイル内の特定のセルを検索し、一致したセルの右隣のセルの文字列を抽出して表示したいです
  • VB2005でセルに情報を書き込む際に、セルの色付けなども操作できますか

質問者が選んだベストアンサー

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

>「LookAt:=xlWhole」の箇所さえ通れば望む結果が出そうなのですが、 >他にVB2005で対応したものはないでしょうか。 ここについては下記が参考になるかもです。 【方法 : ワークシートの範囲内のテキストを検索する】 http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/dv_wrcore/html/wrtskhowtosearchfortextinworksheetranges.asp >そして最初に取得したセルを一行目と仮定し 参考URLを実行すると、1行目に対象値があっても検索されず、 2回目に出てきたものをヒットします。 (AFTERの代わりの使い方がよく分かりませんでした。) VB2005は始めたばかりですので、このくらいの回答しかできません。 (殆どExcelVBAばっかりなもので。。。)

metal3100c
質問者

お礼

ありがとうございます!! 当方も日々勉強していますので、参考にできるもののご提示だけでも嬉しく思います。 追記でもコードをご提示いただいたようで、本当にありがとうございます・・・。 時間が取れず、上記URLも拝見させていただいただけで試すことができませんでした。 ご提示いただいたコードを試させていただき、再度お礼のほうを書き込ませていただきたいと思います。 今後とも宜しくお願い致します。

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

私がテストしたコードをそのまま提示します。  Dim xlApp As New Excel.Application  Dim xlwb As Excel.Workbook = xlApp.Workbooks.Open("R:\aaa.xls")  Dim xlsheet As Excel.Worksheet  Dim fndArea As Excel.Range '探すセル範囲  Dim findText As String '探す文字列(Text1に入力)  Dim rg As Object '探し出したセル  xlsheet = xlwb.Worksheets("a")  fndArea = xlsheet.Range("A:A")  findText = "りんご"  'シートを検索する  rg = fndArea.Find(findText, xlsheet.Range("A65536"),   Excel.XlFindLookIn.xlValues, Excel.XlLookAt.xlWhole, _       Excel.XlSearchOrder.xlByRows, Excel.XlSearchDirection.xlNext, False)  If Not rg Is Nothing Then     Me.TextBox1.Text = rg.Offset(0, 1).Value     rg.resize(, 2).Interior.ColorIndex = 38 '見つけたところとその右側に色をつける     xlwb.Close(True)  Else     MsgBox("ありません")     xlwb.Close(False) 'ない時は上書き保存しない  End If  xlApp = Nothing  xlwb = Nothing  xlsheet = Nothing  fndArea = Nothing  rg = Nothing ご参考になれば。

metal3100c
質問者

お礼

お返事が遅れてしまい、誠に申し訳ございません。 ご提示いただきました内容を応用させていただきまして、 ようやく望む結果が出ました!! まだまだ勉強することだらけであると痛感しました。 本当にありがとうございます。 今後とも宜しくお願いいたします。

関連するQ&A

専門家に質問してみよう