WorksheetFunction.SearchB Method (Excel)

SEARCH and SEARCHB locate one text string within a second text string, and return the number of the starting position of the first text string from the first character of the second text string.


expression. SearchB( _Arg1_ , _Arg2_ , _Arg3_ )

expression A variable that represents a WorksheetFunction object.


Name Required/Optional Data Type Description
Arg1 Required String Find_text - the text you want to find.
Arg2 Required String Within_text - the text in which you want to search for find_text.
Arg3 Optional Variant Start_num - the character number in within_text at which you want to start searching.

Return Value



Important SEARCH is intended for use with languages that use the single-byte character set (SBCS), whereas SEARCHB is intended for use with languages that use the double-byte character set (DBCS). The default language setting on your computer affects the return value in the following way:

  • SEARCH always counts each character, whether single-byte or double-byte, as 1, no matter what the default language setting is.

  • SEARCHB counts each double-byte character as 2 when you have enabled the editing of a language that supports DBCS and then set it as the default language. Otherwise, SEARCHB counts each character as 1.

The languages that support DBCS include Japanese, Chinese (Simplified), Chinese (Traditional), and Korean.

  • Use SEARCH and SEARCHB to determine the location of a character or text string within another text string so that you can use the MID and MIDB or REPLACE and REPLACEB functions to change the text.

  • SEARCH and SEARCHB are not case sensitive. If you want to do a case sensitive search, you can use FIND and FINDB.

  • You can use the wildcard characters, question mark (?) and asterisk (*), in find_text. A question mark matches any single character; an asterisk matches any sequence of characters. If you want to find an actual question mark or asterisk, type a tilde (~) before the character.

  • If find_text is not found, the #VALUE! error value is returned.

  • If start_num is omitted, it is assumed to be 1.

  • If start_num is not greater than 0 (zero) or is greater than the length of within_text, the #VALUE! error value is returned.

  • Use start_num to skip a specified number of characters. Using SEARCH as an example, suppose you are working with the text string "AYF0093.YoungMensApparel". To find the number of the first "Y" in the descriptive part of the text string, set start_num equal to 8 so that the serial-number portion of the text is not searched. SEARCH begins with character 8, finds find_text at the next character, and returns the number 9. SEARCH always returns the number of characters from the start of within_text, counting the characters you skip if start_num is greater than 1.

See also

WorksheetFunction Object