I'd like to sort delimited data rows on the fly using VBA. Here is the data that I have:
PM-10663 ::: AK:::1:::Jupiter_PI6-1:::Relinquishment request cancled time out
PM-10721 ::: AK:::3:::Jupiter_PI6-2:::Automate SAS Simulator configuration - Prepare Dummy test files
PM-76960 ::: EA:::3:::Jupiter_PI6-1:::Handle Heartbeat Expire timer (interval) Received in Grant/Heartbeat Response
PM-99200 ::: EA:::3:::Jupiter_PI6-1:::Scheduled Job Support First HeartBeat - Transmit Expiry
PM-10684 ::: EA:::1:::Jupiter_PI6-2:::Update Swagger for Rest API to FE
PM-10822 ::: EA:::1:::Jupiter_PI6-2:::Add Code Owners
PM-10807 ::: EA:::2:::Jupiter_PI6-2:::Enabling SAS Cleaning Data
PM-10327 ::: EA:::1:::Jupiter_PI6-2:::Add Coverage.out file to Domain-proxy repo to access to jenkins workspace
PM-73860 ::: KO:::3:::Jupiter_PI6-1:::Algorithm to obtain grant requests for RUs within same bandwidth - Part 2
PM-10472 ::: KO:::2:::Jupiter_PI6-1:::updating the api-spec go version
PM-99370 ::: KO:::3:::Jupiter_PI6-1:::Build Swagger for Rest API to FE
PM-10132 ::: KO:::5:::Jupiter_PI6-1:::Configure the SAS Simulator to test SAS errors
PM-10029 ::: KO:::2:::Jupiter_PI6-2:::Consider moving to Orchestration NATS bus to facilitate the Authentication and Authorization
PM-97240 ::: OM:::1:::Jupiter_PI6-1:::Define nats subject/schema definition for publish/subscribing CBSD_info_update message
PM-98250 ::: OM:::1:::Jupiter_PI6-1:::Procure the NB swagger/gRPC specification of retrieving CBSD_info_update from CBRS
PM-99420 ::: OM:::1:::Jupiter_PI6-1:::Configure the structure API client for DP
PM-10661 ::: OM:::3:::Jupiter_PI6-2:::Relinquishment failed.
PM-10662 ::: OM:::1:::Jupiter_PI6-2:::Relinquishment request canceled time out
PM-77000 ::: OM:::3:::Jupiter_PI6-2:::Create Transmit Expiry Timer in Heartbeat Response
PM-93300 ::: OM:::3:::Jupiter_PI6-2:::Handle Grant Expire Timer Received in Grant Response - Part 2
PM-98440 ::: OM:::3:::Jupiter_PI6-2:::Expose a Rest API to FE to provide SAS Default URL
PM-10217 ::: OM:::3:::Jupiter_PI6-1:::Hardcode the flow of DP - SAS communication
I want to first group by the second element (e.g., AK, EA, KO etc.,) and then group by the fourth element (e.g., Jupiter_PI6-x) and finally sort the data by the first element (PM-xxxxx).
This is how the data looks like right now:
And this is how I want the outcome to be:
I cannot use Excel sort because it means that I need to save, read, and write the data in a separate worksheet using sorting algorithms. I am getting this data via an API call into a VBA dictionary object. So, I need to use arrays or something to separate out the data. I have very limited knowledge about data arrays, let alone multiple arrays. I'd be very thankful if someone could help me with this.