Excel の「検索と置換」機能は、大規模な Excel スプレッドシートを編集する際に不可欠なツールです。この機能により、ユーザーはワークシートまたは指定されたセル範囲内で特定の値を検索し、新しい値で元の値を迅速に置き換えることができます。この機能によって手動の煩雑な検索を回避し、作業効率を向上させることができます。この記事では、Spire.XLS for .NET を使用して、C# および VB.NET でプログラムによって Excel のデータを検索して置換する方法を紹介します。 Excel でワークシート内のデータを検索して置換する Excel で特定のセル範囲のデータを検索して置換する Spire.XLS for .NET をインストールします まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。 PM> Install-Package Spire.XLS Excel でワークシート内のデータを検索して置換する Spire.XLS for.NET には、Worksheet.FindAllString(string stringValue, bool formula, bool formulaValue) メソッドが用意されており、Excel で特定の数値を含むセルを検索できます。その後、CellRange.Text プロパティを使用して値を更新します。具体的な手順は次のとおりです。 Workbook クラスのインスタンスを初期化します。 Workbook.LoadFromFile(string fileName) メソッドを使用して Excel ファイルを読み込みます。 Workbook.Worksheets[int index] プロパティを使用して、特定のワークシートを取得します。 Worksheet.FindAllString(string stringValue, bool formula, bool formulaValue) メソッドを使用して、ワークシート内の特定の値を含むセルを検索します。 見つかったセルをループします。 CellRange.Text プロパティを使用して、各セルの値を更新します。 CellRange.Style.Color プロパティを使用して、更新されたセルの背景を設定します。 Workbook.SaveToFile(string fileName, ExcelVersion version) メソッドを使用して、結果ファイルを特定の場所に保存します。 C# VB.NET using Spire.Xls; using System.Drawing; namespace ReplaceDataInWorksheet { internal class Program { static void Main(string[] args) { //Workbookクラスのインスタンスを初期化する Workbook workbook = new Workbook(); //Excelファイルを読み込む workbook.LoadFromFile(@"Sample.xlsx"); //最初のシートを取得する Worksheet worksheet = workbook.Worksheets[0]; //ワークシート内の特定の文字列値「総額」を持つセルを検索する CellRange[] cells = worksheet.FindAllString("総額", true, true); //見つかったセルをループする foreach (CellRange cell in cells) { //セルの値を別の値に置き換える cell.Text = "差額"; //セルの背景色を設定する cell.Style.Color = Color.Yellow; } //結果ファイルを保存する workbook.SaveToFile("ReplaceDataInWorksheet.xlsx", ExcelVersion.Version2016); workbook.Dispose(); } } } Imports Spire.Xls Imports System.Drawing Namespace ReplaceDataInWorksheet Friend Class Program Private Shared Sub Main(ByVal args As String()) 'Workbookクラスのインスタンスを初期化する Dim workbook As Workbook = New Workbook() 'Excelファイルを読み込む workbook.LoadFromFile("Sample.xlsx") '最初のシートを取得する Dim worksheet As Worksheet = workbook.Worksheets(0) 'ワークシート内の特定の文字列値「総額」を持つセルを検索する Dim cells As CellRange() = worksheet.FindAllString("総額", True, True) '見つかったセルをループし、セルの値を別の値に置き換える For Each cell As CellRange In cells 'Replace the value of the cell with another value cell.Text = "差額" 'セルの背景色を設定する cell.Style.Color = Color.Yellow Next '結果ファイルを保存する workbook.SaveToFile("ReplaceDataInWorksheet.xlsx", ExcelVersion.Version2016) workbook.Dispose() End Sub End Class End Namespace Excel で特定のセル範囲のデータを検索して置換する CellRange.FindAllString(string stringValue, bool formula, bool formulaValue) メソッドを使用して、特定の値を含むセルをセル範囲で検索できます。その後、CellRange.Text プロパティを使用して、以前の値を別の値に置き換えます。具体的な手順は次のとおりです。 Workbook クラスのインスタンスを初期化します。 Workbook.LoadFromFile(string fileName) メソッドを使用して Excel ファイルを読み込みます。 Workbook.Worksheets[int index] プロパティを使用して、特定のワークシートを取得します。 Worksheet.Range[string rangeName] プロパティを使用して、ワークシートの特定のセル範囲を取得します。 CellRange.FindAllString(string stringValue, bool formula, bool formulaValue) メソッドを使用して、セル範囲内の特定の値を持つセルを検索します。 見つかったセルをループします。 CellRange.Text プロパティを使用して、見つかった各セルの値を別の値に置き換えます。 CellRange.Style.Color プロパティを使用して、更新されたセルの背景を設定します。 Workbook.SaveToFile(string fileName, ExcelVersion version) メソッドを使用して、結果ファイルを特定の場所に保存します。 C# VB.NET using Spire.Xls; using System.Drawing; namespace ReplaceDataInCellRange { internal class Program { static void Main(string[] args) { //Workbookクラスのインスタンスを初期化する Workbook workbook = new Workbook(); //Excelファイルを読み込む workbook.LoadFromFile(@"Sample.xlsx"); //最初のシートを取得する Worksheet worksheet = workbook.Worksheets[0]; //特定のセル範囲を取得する CellRange range = worksheet.Range["A3:A5"]; //特定の値「総額」を持つセルをセル範囲で検索する CellRange[] cells = range.FindAllString("総額", true, true); //見つかったセルをループする foreach (CellRange cell in cells) { //セルの値を別の値に置き換える cell.Text = "差額"; //セルの背景色を設定する cell.Style.Color = Color.Yellow; } //結果ファイルを保存する workbook.SaveToFile("ReplaceDataInCellRange.xlsx", ExcelVersion.Version2016); workbook.Dispose(); } } } Imports Spire.Xls Imports System.Drawing Namespace ReplaceDataInCellRange Friend Class Program Private Shared Sub Main(ByVal args As String()) 'Workbookクラスのインスタンスを初期化する Dim workbook As Workbook = New Workbook() 'Excelファイルを読み込む workbook.LoadFromFile("Sample.xlsx") '最初のシートを取得する Dim worksheet As Worksheet = workbook.Worksheets(0) '特定のセル範囲を取得する Dim range As CellRange = worksheet.Range("A3:A5") '特定の値「総額」を持つセルをセル範囲で検索する Dim cells As CellRange() = range.FindAllString("総額", True, True) '見つかったセルをループする For Each cell As CellRange In cells 'セルの値を別の値に置き換える cell.Text = "差額" 'セルの背景色を設定する cell.Style.Color = Color.Yellow Next '結果ファイルを保存する workbook.SaveToFile("ReplaceDataInCellRange.xlsx", ExcelVersion.Version2016) workbook.Dispose() End Sub End Class End Namespace 一時ライセンスを申請する 結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。