<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Hi Bruce,<br>
    <br>
    My thought was to rebuild the Collection. That way you could not put
    in the one you want to change and add the one you do. The code below
    will change 'th' to "BUSYDAY".<br>
    <br>
    Public Sub Form_Open()<br>
    <br>
      Dim cAbbr2Weekday As Collection = ["mo": "Monday", "tu":
    "Tuesday", "we": "Wednesday", "th": "Thursday", "fr": "Friday",
    "sa": "Saturday", "su": "Sunday"]<br>
      Dim sName As String<br>
      Dim cCopy As New Collection<br>
      Dim sChange As String = "th"<br>
      Dim sNew As String[] = ["Thursday", "BUSYDAY"]<br>
    <br>
      For Each sName In cAbbr2Weekday<br>
        If cAbbr2Weekday.Key = sChange Then<br>
          cCopy.Add(sNew[0], snew[1])<br>
        Else<br>
          cCopy.Add(sName, cAbbr2Weekday.Key)<br>
        Endif<br>
      Next<br>
    <br>
      For Each sName In cCopy<br>
        Print cCopy.Key & " --> " & sName<br>
      Next<br>
    <br>
    End<br>
    <br>
    Output: -<br>
    mo --> Monday<br>
    tu --> Tuesday<br>
    we --> Wednesday<br>
    BUSYDAY --> Thursday<br>
    fr --> Friday<br>
    sa --> Saturday<br>
    su --> Sunday<br>
    <br>
    All the best,<br>
    <br>
    Charlie<br>
    <br>
    <div class="moz-cite-prefix">On 09/01/2022 13:54, Bruce Steers
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CABuQYCCo1=f56K9kuvA53uaVL5V5gQoWbtSJfR3YeKi39jELjQ@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div class="gmail_default" style="font-size:small">Is there a
          simple way to rename a collection key name but retain the
          order?</div>
        <div class="gmail_default" style="font-size:small"><br>
        </div>
        <div class="gmail_default" style="font-size:small">I found i can
          rename it using Swap but it pops the item at the and of the
          collection index.</div>
        <div class="gmail_default" style="font-size:small"><br>
        </div>
        <div class="gmail_default" style="font-size:small">Best i have
          so far is this fuction that copies and returns the collection
          with a preserved order.<br>
        </div>
        <div class="gmail_default" style="font-size:small">so if my
          second collection item had the key "t2" I can do this...<br>
        </div>
        <div class="gmail_default" style="font-size:small"><br>
        </div>
        <div class="gmail_default" style="font-size:small"><b>cCollection
            = RenameKey(cCollection, "t2", "ttt2")<br>
            <br>
            <br>
            Public Sub RenameKey(c As Collection, sName As String,
            sNewName As String) As Collection<br>
              <br>
              Dim i As Integer = c.Keys.Find(sName)  ' find key position<br>
            <br>
              Swap c[sName], c[sNewName]  ' swap key names<br>
            <br>
              ' make a new collection preserving original order<br>
              Dim nc As New Collection<br>
              For cnt As Integer = 0 To c.Count - 1<br>
            <br>
                If cnt = i Then  ' insert point so move last added key
            to our position<br>
                  nc.Add(c[c.Keys[c.Keys.Max]], c.Keys[c.Keys.Max])<br>
                Else If cnt > i Then  'after insert so shunt keys
            back one<br>
                  nc.Add(c[c.Keys[cnt - 1]], c.Keys[cnt - 1])<br>
                Else  ' before insert so just copy<br>
                  nc.Add(c[c.Keys[cnt]], c.Keys[cnt])<br>
                Endif<br>
              Next<br>
            <br>
              Return nc<br>
              <br>
            End</b></div>
        <div class="gmail_default" style="font-size:small"><br>
        </div>
        <div class="gmail_default" style="font-size:small">Am i missing
          a one line command or is that the only way to do it ?</div>
        <div class="gmail_default" style="font-size:small"><br>
        </div>
        <div class="gmail_default" style="font-size:small">Cheers all :)</div>
        <div class="gmail_default" style="font-size:small">BruceS</div>
        <div class="gmail_default" style="font-size:small"><br>
        </div>
      </div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">
----[ <a class="moz-txt-link-freetext" href="http://gambaswiki.org/wiki/doc/netiquette">http://gambaswiki.org/wiki/doc/netiquette</a> ]----
</pre>
    </blockquote>
    <br>
  </body>
</html>