- ベストアンサー
VB2005からエクセルの操作
- VB2005でエクセルファイルを操作する方法を教えてください
- 指定したエクセルファイル内の特定のセルを検索し、一致したセルの右隣のセルの文字列を抽出して表示したいです
- VB2005でセルに情報を書き込む際に、セルの色付けなども操作できますか
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>「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ばっかりなもので。。。)
その他の回答 (1)
- n-jun
- ベストアンサー率33% (959/2873)
私がテストしたコードをそのまま提示します。 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 ご参考になれば。
お礼
お返事が遅れてしまい、誠に申し訳ございません。 ご提示いただきました内容を応用させていただきまして、 ようやく望む結果が出ました!! まだまだ勉強することだらけであると痛感しました。 本当にありがとうございます。 今後とも宜しくお願いいたします。
お礼
ありがとうございます!! 当方も日々勉強していますので、参考にできるもののご提示だけでも嬉しく思います。 追記でもコードをご提示いただいたようで、本当にありがとうございます・・・。 時間が取れず、上記URLも拝見させていただいただけで試すことができませんでした。 ご提示いただいたコードを試させていただき、再度お礼のほうを書き込ませていただきたいと思います。 今後とも宜しくお願い致します。