D
David
Hi,
This is a VB question.
I created a matrix(or table)using certain dimensions from user.
diameter, xindex(cell height), yindex(cell width).
(diameter/xindex) gives me the number of cells in xaxis,
(diameter/yindex) gives me the number of cells in yaxis
Then I try to color cells that would fit in a circle.
The following equation works when xindex and yindex are equal.
When Xindex and Yindex are different I keep getting an ellipse shape.
The reason is that this circle equation assigns the same number of cells for
xaxis and yaxis and since the height and width are not same I get an ellipse.
This is the code I use.
Dim m As Long, n As Long
For m = 0 To rw - 1 ' rw is number of rows
For n = 0 To cl - 1 ' cl is number of columns
d = Sqr(((m - (rw / 2)) ^ 2) + ((n - (cl / 2)) ^ 2))
If d < (radiusInCells) Then
grille1.row = m ' row location
grille1.col = n ' col location
grille1.CellBackColor = vbRed ' color cell
End If
Next n
Next m
I got a solution from K. dales that worked for excel (excel uses points or
pixels for dimensions:
AspectRatio = Cells(1, 1).Width / Cells(1, 1).Height
For i = 1 To 900
For j = 1 To 250
d = Sqr((i - 100) ^ 2 + (j - 65) ^ 2)
If d < 60 Then
Cells(i, Int(j / AspectRatio)).Interior.ColorIndex = 45
I tried using this AspectRation variable in my code but did not work:
AspectRatio= xindex(cell height)/yindex(cell width).
Then used it as follows:
Dim m As Long, n As Long
For m = 0 To rw - 1 ' rw is number of rows
For n = 0 To cl - 1 ' cl is number of columns
d = Sqr(((m - (rw / 2)) ^ 2) + ((n - (cl / 2)) ^ 2))
If d < (RadiusIncells) Then
grille1.row = m ' row location
grille1.col = (Int(n / AspectRatio)) 'Col location
grille1.CellBackColor = vbRed ' color cell
End If
Next n
Next m
Any input on this is greatly appreciated
This is a VB question.
I created a matrix(or table)using certain dimensions from user.
diameter, xindex(cell height), yindex(cell width).
(diameter/xindex) gives me the number of cells in xaxis,
(diameter/yindex) gives me the number of cells in yaxis
Then I try to color cells that would fit in a circle.
The following equation works when xindex and yindex are equal.
When Xindex and Yindex are different I keep getting an ellipse shape.
The reason is that this circle equation assigns the same number of cells for
xaxis and yaxis and since the height and width are not same I get an ellipse.
This is the code I use.
Dim m As Long, n As Long
For m = 0 To rw - 1 ' rw is number of rows
For n = 0 To cl - 1 ' cl is number of columns
d = Sqr(((m - (rw / 2)) ^ 2) + ((n - (cl / 2)) ^ 2))
If d < (radiusInCells) Then
grille1.row = m ' row location
grille1.col = n ' col location
grille1.CellBackColor = vbRed ' color cell
End If
Next n
Next m
I got a solution from K. dales that worked for excel (excel uses points or
pixels for dimensions:
AspectRatio = Cells(1, 1).Width / Cells(1, 1).Height
For i = 1 To 900
For j = 1 To 250
d = Sqr((i - 100) ^ 2 + (j - 65) ^ 2)
If d < 60 Then
Cells(i, Int(j / AspectRatio)).Interior.ColorIndex = 45
I tried using this AspectRation variable in my code but did not work:
AspectRatio= xindex(cell height)/yindex(cell width).
Then used it as follows:
Dim m As Long, n As Long
For m = 0 To rw - 1 ' rw is number of rows
For n = 0 To cl - 1 ' cl is number of columns
d = Sqr(((m - (rw / 2)) ^ 2) + ((n - (cl / 2)) ^ 2))
If d < (RadiusIncells) Then
grille1.row = m ' row location
grille1.col = (Int(n / AspectRatio)) 'Col location
grille1.CellBackColor = vbRed ' color cell
End If
Next n
Next m
Any input on this is greatly appreciated