数値のみのワイルドカードまたは正規表現でRange.Find()メソッドを使用する方法はありますか?C#Excel:パターンマッチングを使用してセルを検索する
スプレッドシートの日付を解析するために、「2015 M05」、「2016 M08」、「2017 M01」などの値を持つセルを検索しようとしています。
これまでのところ、私は、ワイルドカードを使用していると考えることができる最高の「?」検索文字列「???? M ??」を形成する。
object missingVal = System.Reflection.Missing.Value;
Excel.Range match = allCells.Find("???? M??", missingVal, Excel.XlFindLookIn.xlValues, Excel.XlLookAt.xlPart,
Excel.XlSearchOrder.xlByRows, Excel.XlSearchDirection.xlNext, false, missingVal, missingVal);
しかし、「M」で始まる2番目の単語がある2単語のラベルがあるとすぐに問題に遭遇します。
編集:私がRange.Find()で使用できる数字だけのワイルドカードを持っていれば最も簡単だと思います。しかし、 "#"は機能していないようですので、回避策があるかどうか疑問に思っていましたか?
代わりに名前付きテーブルを定義し、テーブルとそのヘッダー行に名前でアクセスするのはなぜですか? –
アイデアありがとう!私はそれが実現することが可能かどうかを見てみましょう...事は、スプレッドシートのためのフォルダをスクラブするC#プログラムを書いています。スプレッドシートは自動的に生成されることがあります。手動で作成されることもあります。私が現在保証している唯一の一貫性は、数字が日付の後の行に表示されることですので、私ができることに取り組もうとしています。 – Calseon