はじめに
Excelでデータを検索してハイライト表示することは、特定の条件に一致するセルや値を素早く特定し、目立たせるための便利な機能です。大規模なスプレッドシートを処理する際に特に役立ちます。手動での検索だけでなく、プログラミングを使用して特定のデータを検索してハイライト表示することも可能です。この記事では、C#およびVB.NETプログラムを使用してExcel内の指定されたデータを検索してハイライト表示する方法について紹介します。
ツール
- Visual Studio 2022
- Free Spire.XLS for .NET
このライブラリは、無料でExcelファイルを作成、編集、変換することができますが、ページ数の制限があります。または、有料版の製品の無料トライアルを申し込むこともできます。
有料版: Spire.XLS for .NET
インストール方法
1.Free Spire.XLS for .NETをダウンロードします。
2.Visual Studioで新しいプロジェクトを作成します。
3.「Solution Explorer」>「References」を右クリックし、「Add Reference」>「Browse」を選択します。
4.BINフォルダ内のdllファイルを見つけて、「OK」をクリックします。
方法とコード
- Workbook クラスのインスタンスを作成します。
- Workbook.LoadFromFile() メソッドを使用して、Excel ファイルをロードします。
- Workbook.Worksheets[sheetIndex] プロパティを使って、指定したワークシートを取得します。
- Worksheet.FindAllString(string stringValue, bool formula, bool formulaValue) メソッドで、一致するテキストがあるセルをすべて検索しています。
- CellRange.Style.Color プロパティを使って、セルを強調する色を設定します。
- Workbook.SaveToFile() メソッドを使用して、結果ファイルを保存します。
C#:
using Spire.Xls;
using System.Drawing;
namespace FindHighlight
{
class Program
{
static void Main(string[] args)
{
//Workbookクラスのインスタンスを作成する
Workbook workbook = new Workbook();
//Excelファイルをロードする
workbook.LoadFromFile("Sample.xlsx");
//最初のワークシートを取得する
Worksheet sheet = workbook.Worksheets[0];
//テキスト「500」を含むすべてのセルを検索する
foreach (CellRange range in sheet.FindAllString("5000", true, true))
{
//セルを強調するための色を設定する
range.Style.Color = Color.Yellow;
}
//結果ファイルを保存する
workbook.SaveToFile("Result.xlsx", ExcelVersion.Version2016);
}
}
}
VB.NET:
Imports Spire.Xls
Imports System.Drawing
Namespace FindHighlight
Class Program
Shared Sub Main(ByVal args() As String)
'Workbookクラスのインスタンスを作成する
Dim workbook As Workbook = New Workbook()
'Excelファイルをロードする
workbook.LoadFromFile("Sample.xlsx")
'最初のワークシートを取得する
Dim sheet As Worksheet = workbook.Worksheets(0)
'テキスト「500」を含むすべてのセルを検索する
Dim range As CellRange
For Each range In sheet.FindAllString("5000", True, True)
'セルを強調するための色を設定する
range.Style.Color = Color.Yellow
Next
'結果ファイルを保存する
workbook.SaveToFile("Result.xlsx", ExcelVersion.Version2016)
End Sub
End Class
End Namespace