Worksheet.XmlDataQuery method (Excel)

Returns a Range object that represents the cells mapped to a particular XPath. Returns Nothing if the specified XPath has not been mapped to the worksheet, or if the mapped range is empty.

Syntax

expression.XmlDataQuery (XPath, SelectionNamespaces, Map)

expression A variable that represents a Worksheet object.

Parameters

Name Required/Optional Data type Description
XPath Required String The XPath to query for.
SelectionNamespaces Optional Variant A space-delimited String that contains the namespaces referenced in the XPath parameter. A run-time error is generated if one of the specified namespaces cannot be resolved.
Map Optional Variant Specify an XmlMap if you want to query for the XPath within a specific map.

Return value

Range

Remarks

If the XPath exists within a column in an XML list, the Range object returned does not include the header row.

This method returns Nothing if the XPath location path is not mapped into the grid. Thus, a return of Nothing doesn't necessarily mean that the map doesn't exist. It could mean that there is currently no data range available at the specified XPath location. Use the XmlMapQuery method to check for the existence of a mapped XPath.

Note

The XmlDataQuery method allows you to query for the existence of particular map data. It cannot be used to query for a piece of data in a map.

For example, it is valid for a mapped range to exist in which the XPath for that range is "/root/People[@Age="23"]/FirstName". An XmlDataQuery query for this XPath location path returns the correct range. However, a query for "/root/People[FirstName="Joe"]" hoping to find "Joe" within the above mapped range fails because the XPath definitions for the mapped ranges are different.

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.