hiroton
2023/01/19 (木) 09:02:58
cd1c7@f966d
ヒトの入力はテキストを連結していても、書式が決まっているならデータ処理上では分割してしまえばいいでしょう
ハイフンで区切り、最大2回なので
最初のハイフン位置 = InStr([抽出用テキスト],"-")
最後のハイフン位置 = InStrRev([抽出用テキスト],"-")
ハイフン位置が分かれば文字列関数(文字列関数とその使い方)で目的の文字が取り出せます
VBA上で操作するなら配列化してしまえばもっと簡単ですね
Dim 抽出用データ As Variant
抽出用データ = split(Me.抽出用テキスト, "-")
'コード1開始 = 抽出用データ(0)
'コード2開始 = 抽出用データ(1)
'コード3開始 = 抽出用データ(2)
※いずれの方式でも入力データの書式が正しいかのチェックは必要になると思います
条件の未入力を含む抽出はVBAで抽出条件(Where句)を生成し適用するのが楽だと思います
VBAが使えないときならこの掲示板でも定期ネタになりつつありそうで、(たぶん)直近の参考になりそうなリンクを貼っておきます→複数の検索ボックス
通報 ...