# GrapeCity.Spreadsheet.IRange.Sort

## Content

<div class="doc-site-dotnet-api-container">



<h1 id="GrapeCity_Spreadsheet_IRange_Sort_" data-uid="GrapeCity.Spreadsheet.IRange.Sort*">Sort Method
</h1>
<div class="markdown level0 summary"></div>
<div class="markdown level0 conceptual"></div>



<a id="GrapeCity_Spreadsheet_IRange_Sort_" data-uid="GrapeCity.Spreadsheet.IRange.Sort*"></a>
<h4 id="GrapeCity_Spreadsheet_IRange_Sort_System_String_GrapeCity_Spreadsheet_SortOrder_System_String_GrapeCity_Spreadsheet_SortType_GrapeCity_Spreadsheet_SortOrder_System_String_GrapeCity_Spreadsheet_SortOrder_GrapeCity_Spreadsheet_YesNoGuess_System_Boolean_GrapeCity_Spreadsheet_SortMethod_GrapeCity_Spreadsheet_SortDataOption_GrapeCity_Spreadsheet_SortDataOption_GrapeCity_Spreadsheet_SortDataOption_" data-uid="GrapeCity.Spreadsheet.IRange.Sort(System.String,GrapeCity.Spreadsheet.SortOrder,System.String,GrapeCity.Spreadsheet.SortType,GrapeCity.Spreadsheet.SortOrder,System.String,GrapeCity.Spreadsheet.SortOrder,GrapeCity.Spreadsheet.YesNoGuess,System.Boolean,GrapeCity.Spreadsheet.SortMethod,GrapeCity.Spreadsheet.SortDataOption,GrapeCity.Spreadsheet.SortDataOption,GrapeCity.Spreadsheet.SortDataOption)">Sort(string, SortOrder, string, SortType, SortOrder, string, SortOrder, YesNoGuess, bool, SortMethod, SortDataOption, SortDataOption, SortDataOption)</h4>
<div class="markdown level1 summary"><p>Sorts a range of values.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">void Sort(string key1 = null, SortOrder order1 = SortOrder.Ascending, string key2 = null, SortType type = SortType.SortLabels, SortOrder order2 = SortOrder.Ascending, string key3 = null, SortOrder order3 = SortOrder.Ascending, YesNoGuess header = YesNoGuess.No, bool matchCase = false, SortMethod sortMethod = SortMethod.PinYin, SortDataOption dataOption1 = SortDataOption.Normal, SortDataOption dataOption2 = SortDataOption.Normal, SortDataOption dataOption3 = SortDataOption.Normal)</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Sub Sort(Optional key1 As String = Nothing, Optional order1 As SortOrder = SortOrder.Ascending, Optional key2 As String = Nothing, Optional type As SortType = SortType.SortLabels, Optional order2 As SortOrder = SortOrder.Ascending, Optional key3 As String = Nothing, Optional order3 As SortOrder = SortOrder.Ascending, Optional header As YesNoGuess = YesNoGuess.No, Optional matchCase As Boolean = False, Optional sortMethod As SortMethod = SortMethod.PinYin, Optional dataOption1 As SortDataOption = SortDataOption.Normal, Optional dataOption2 As SortDataOption = SortDataOption.Normal, Optional dataOption3 As SortDataOption = SortDataOption.Normal)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Name</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></td>
      <td><span class="parametername">key1</span></td>
      <td><p>Specifies the first sort field, either as a range name <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>; determines the values to be sorted.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="GrapeCity.Spreadsheet.SortOrder.html">SortOrder</a></td>
      <td><span class="parametername">order1</span></td>
      <td><p>Determines the sort order for the values specified in <code class="paramref">key1</code>.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></td>
      <td><span class="parametername">key2</span></td>
      <td><p>Second sort field; cannot be used when sorting a PivotTable.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="GrapeCity.Spreadsheet.SortType.html">SortType</a></td>
      <td><span class="parametername">type</span></td>
      <td><p>Specifies which type of elements are to be sorted within a PivotTable. Specify <a class="xref" href="GrapeCity.Spreadsheet.SortType.html#GrapeCity_Spreadsheet_SortType_SortLabels">SortLabels</a> to sort by the labels targeted by the experession range in the Row/Colum Labels areas of the PivotTable's range, or <a class="xref" href="GrapeCity.Spreadsheet.SortType.html#GrapeCity_Spreadsheet_SortType_SortValues">SortValues</a> when <code class="paramref">key1</code> additionally targets a cell in the Values or Sub/Grand Totals areas using R1C1 notation.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="GrapeCity.Spreadsheet.SortOrder.html">SortOrder</a></td>
      <td><span class="parametername">order2</span></td>
      <td><p>Determines the sort order for the values specified in <code class="paramref">key2</code>.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></td>
      <td><span class="parametername">key3</span></td>
      <td><p>Third sort field; cannot be used when sorting a PivotTable.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="GrapeCity.Spreadsheet.SortOrder.html">SortOrder</a></td>
      <td><span class="parametername">order3</span></td>
      <td><p>Determines the sort order for the values specified in <code class="paramref">key3</code>.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="GrapeCity.Spreadsheet.YesNoGuess.html">YesNoGuess</a></td>
      <td><span class="parametername">header</span></td>
      <td><p>Specifies whether the first row contains header information. <a class="xref" href="GrapeCity.Spreadsheet.YesNoGuess.html#GrapeCity_Spreadsheet_YesNoGuess_No">No</a> is the default value; specify <a class="xref" href="GrapeCity.Spreadsheet.YesNoGuess.html">YesNoGuess</a> if you want Spread to attempt to determine the header.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></td>
      <td><span class="parametername">matchCase</span></td>
      <td><p>Set to true to perform a case-sensitive sort, false to perform a non-case-sensitive sort; cannot be used with PivotTables.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="GrapeCity.Spreadsheet.SortMethod.html">SortMethod</a></td>
      <td><span class="parametername">sortMethod</span></td>
      <td><p>Specifies the sort method.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="GrapeCity.Spreadsheet.SortDataOption.html">SortDataOption</a></td>
      <td><span class="parametername">dataOption1</span></td>
      <td><p>Specifies how to sort text in the range specified in <code class="paramref">key1</code>; does not apply to PivotTable sorting.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="GrapeCity.Spreadsheet.SortDataOption.html">SortDataOption</a></td>
      <td><span class="parametername">dataOption2</span></td>
      <td><p>Specifies how to sort text in the range specified in <code class="paramref">key2</code>; does not apply to PivotTable sorting.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="GrapeCity.Spreadsheet.SortDataOption.html">SortDataOption</a></td>
      <td><span class="parametername">dataOption3</span></td>
      <td><p>Specifies how to sort text in the range specified in <code class="paramref">key3</code>; does not apply to PivotTable sorting.</p>
</td>
    </tr>
  </tbody>
</table>
</div>
