Jump to content

Recommended Posts

Posted

Hi,

Could someone please look into the below issue and kindly advise.

I have an array $CtrInfo[11][12] which has pre-defined information. However, the problem is depending on the situation I would like to use only 10 columns of this. Either Column 8 or Column 9 has to be skipped accordingly. To make this happen, I am trying to copy the information into another array ($NewCtrInfo[11][11]) so that the final set of values is available for usage.

I have tried to use FOR statement for this purpose. I am encountering the error - Array variable has incorrect number of subscripts or subscript dimension range exceeded.

Below is the code:

;Copy the last three columns of existing array into the new array

For $clmcnt = 9 to 11 Step 1

For $rowcnt = 1 to 11 Step 1

Local $k = Execute("$rowcnt - 1")

Local $l = Execute("$clmcnt - 1")

Local $m = Execute("$clmcnt - 2")

$NewCtrInfo[$rowcnt][$l] = $CtrInfo[$k][$m]

Next

Next

  • Moderators
Posted

JustStarted,

Autoit arrays start at [0], so if you declare it as [11] you get elements [0] to [10]. So these statements:

For $clmcnt = 9 to 11 Step 1
    For $rowcnt = 1 to 11 Step 1

will fail. :)

You need to use:

For $clmcnt = 7/8 to 10 ; 7/8 depending on which column 8/9 you want to skip
    For $rowcnt = 0 to 10

You do not need the Step 1 as that is the default value. ;)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

  Reveal hidden contents

 

Posted

Instead of dumping it into another array, why not just skip those columns during iteration? So you won't have 2 Arrays sitting in memory.

  Reveal hidden contents

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...