以下は作業コードです。私は、検索条件の開始点をwsSheet.Cells [65000、columnNumber]のように変更することで、検索基準で問題を解決できることを理解しました。しかしこれは本当の解決策ではありません。Excelの検索操作はC#で最初の行をスキップします
[検索]操作をExcelシートの最初の行から開始する別の方法はありますか?
public static string FindFirstStringInColumn(Excel.Workbook wbBook, string strSheet, string strSearchMe, string strColumnLetter)
{
Excel.Worksheet wsSheet = null;
wsSheet = (Excel.Worksheet)wbBook.Worksheets[strSheet];
Excel.Range currentFind = null;
Excel.Range range = (Excel.Range)wsSheet.Columns[strColumnLetter, Type.Missing];
int columnNumber = ExcelCOM.GetColumnNumber(strColumnLetter);
//~~> Search for strSearchMe
currentFind = range.Find(strSearchMe,
wsSheet.Cells[65000, columnNumber],
Excel.XlFindLookIn.xlValues,
Excel.XlLookAt.xlPart,
Excel.XlSearchOrder.xlByRows,
Excel.XlSearchDirection.xlNext,
false,
false,
false);
if (currentFind != null)
{
string sAddress = currentFind.get_Address(false, false, Excel.XlReferenceStyle.xlA1, false, false);
//~~> Display the found Address
return (sAddress).ToString();
}
else
{
return ("Nothing found");
}
}
ソートされる範囲を指定するExcel関数について考えていますが、列名が最初の行にあるかどうかを確認するメッセージが表示されます... – DOK