Solved

# determine numbers in a 80 number msflexgrid

Posted on 2014-01-17
Medium Priority
236 Views
I am saving an array of upto 10 numbers to a file the numbers in the array are saved
based on the .cellforecolor in a 80 number msflexgrid
I am trying to deterime how to set the cell images based on the numbers in an array
the array is declared like this
Dim mMarkedNumber(1 To 10)  As Integer
the array holds as many as 10 numbers
example array
1 = 1
2 = 5
3 = 10
4 = 21
5 = 26
6 = 46
7 = 50
8 = 71
9 = 76
10 = 80

columns = 0 To 9
rows = 0 To 7
The problem I am having is determing which number in the msflexgrid matches the number in the array.
Example 4th dimintion = 21
how can i write code to determine which number in the 80 number grid is number 21
flexCleo.row = 2
flexCleo.col = 0
Set .CellPicture = imgSelNotHit
this will select number 21

How can i write this?
80-number-grid.jpg
0
Question by:isnoend2001
• 4
• 4

Author Comment

ID: 39790668
got this answer from another forum and it seems to be close:

Given that your flex grid rows and columns start at zero then
Row = value \ 10
column = (value - 1) Mod 10

e.g. If value = 21 then row = 21 \ 10 = 2, column = (21 - 1) mod 10 = 0
So you'd find 21 in row 2, column 0 in the grid.
after testing the code is close except the last column is off by 1 row
mMarkedNumber(1) = 1
mMarkedNumber(2) = 5
mMarkedNumber(3) = 10 'selects 20
mMarkedNumber(4) = 21
mMarkedNumber(5) = 26
mMarkedNumber(6) = 46
mMarkedNumber(7) = 50 'selects 60
mMarkedNumber(8) = 71
mMarkedNumber(9) = 76
mMarkedNumber(10) = 80 'invalid row value
'seems the last column row value is 1 number too many

This modification seems to fix problem, but not sure if this is the correct way
If Right(nu, 1) = 0 Then
.Row = nu \ 10 - 1 ' minus 1 if the last column
.Col = (nu - 1) Mod 10
Set .CellPicture = imgSelNotHit
Else
.Row = nu \ 10
.Col = (nu - 1) Mod 10
Set .CellPicture = imgSelNotHit
End If
0

LVL 51

Accepted Solution

Martin Liss earned 2000 total points
ID: 39790785
The following will give you the cell and row coordinates of any of your numbers. In this example we are looking for the number 21.

``````    Dim intRow As Integer
Dim intcol As Integer

Const TEST = 21

intRow = (TEST - 1) \ 10

intcol = TEST Mod 10 - 1
If intcol = -1 Then
intcol = 9
End If
MsgBox "Number is in row " & intRow & " column " & intcol
``````
0

Author Closing Comment

ID: 39790822
Thanks Martinliss
Glad you are there or here whatever the case may be
0

LVL 51

Expert Comment

ID: 39790830
Was in Peru for a while but I'm back... and you're welcome/
0

Author Comment

ID: 39790845
I think some of the experts there assume i know more than i do and their answers are difficult
to understand
0

LVL 51

Expert Comment

ID: 39790891
I think that most of the better experts will answer followup questions if you don't understand parts of their code. I know I will:)
0

Author Comment

ID: 39790923
I think the difference is most of your answers do not need followup and i am not looking for email buddies
0

LVL 51

Expert Comment

ID: 39790938
I'm not sure what email has to do with it but if you ever have a question about any code that I supply then please just ask.
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The debugging module of the VB 6 IDE can be accessed by way of the Debug menu item. That menu item can normally be found in the IDE's main menu line as shown in this picture.   There is also a companion Debug Toolbar that looks like the followin…
If you have ever used Microsoft Word then you know that it has a good spell checker and it may have occurred to you that the ability to check spelling might be a nice piece of functionality to add to certain applications of yours. Well the code that…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
###### Suggested Courses
Course of the Month3 days, 11 hours left to enroll