Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

determine numbers in a 80 number msflexgrid

Posted on 2014-01-17
8
229 Views
Last Modified: 2014-01-18
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
Comment
Question by:isnoend2001
  • 4
  • 4
8 Comments
 

Author Comment

by:isnoend2001
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 46

Accepted Solution

by:
Martin Liss earned 500 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

Open in new window

0
 

Author Closing Comment

by:isnoend2001
ID: 39790822
Thanks Martinliss
Glad you are there or here whatever the case may be
0
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

 
LVL 46

Expert Comment

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

Author Comment

by:isnoend2001
ID: 39790845
Glad you are back, was hoping you would answer a couple questions i asked recently.
I think some of the experts there assume i know more than i do and their answers are difficult
to understand
0
 
LVL 46

Expert Comment

by:Martin Liss
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

by:isnoend2001
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 46

Expert Comment

by:Martin Liss
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

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Introduction While answering a recent question about filtering a custom class collection, I realized that this could be accomplished with very little code by using the ScriptControl (SC) library.  This article will introduce you to the SC library a…
Enums (shorthand for ‘enumerations’) are not often used by programmers but they can be quite valuable when they are.  What are they? An Enum is just a type of variable like a string or an Integer, but in this case one that you create that contains…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…

791 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question