ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   multplying matrix with constant doesn't work in VBA (https://www.excelbanter.com/excel-programming/378541-multplying-matrix-constant-doesnt-work-vba.html)

[email protected]

multplying matrix with constant doesn't work in VBA
 
I have a matrix like this...

12 4 22
2 1 33
54 2 9


....and the following function...


Function myfunc(m)


myfunc = 2 * m


End Function


Passing on the matrix to exactly this funciton (letter by letter) in
Excel 2003 SP2 results in #VALUE!


Why? What is wrong here? My guess is that some data type definitions
are missing. Can somebody help?


Jon Peltier

multplying matrix with constant doesn't work in VBA
 
You'll just have to loop through the rows and columns to multiply each
matrix element individually.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Tutorials and Custom Solutions
http://PeltierTech.com
_______


wrote in message
ps.com...
I have a matrix like this...

12 4 22
2 1 33
54 2 9


...and the following function...


Function myfunc(m)


myfunc = 2 * m


End Function


Passing on the matrix to exactly this funciton (letter by letter) in
Excel 2003 SP2 results in #VALUE!


Why? What is wrong here? My guess is that some data type definitions
are missing. Can somebody help?




[email protected]

multplying matrix with constant doesn't work in VBA
 
You'll just have to loop through the rows and columns to multiply each
matrix element individually.

I did a function which is exactly doing that.

The thing I don't understand why this is possible in a spreadsheet. For
example, naming the above mentioned matrix "aMatrix", the following
formula would product the correct result: {= 2*aMatrix}. Weird stuff,
in my opinion.


Jon Peltier

multplying matrix with constant doesn't work in VBA
 
The worksheet is set up to treat worksheet ranges as a matrix in a similar
sense to our algebraic understanding of them. VBA doesn't know it's backing
up a spreadsheet program. The only difference between VBA for Excel, Word,
PowerPoint, and other applications is an object model that provides
application-specific objects and their properties and methods. VBA can
handle an array fine, although it makes you deal with the array elements
individually.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Tutorials and Custom Solutions
http://PeltierTech.com
_______


wrote in message
ups.com...
You'll just have to loop through the rows and columns to multiply each
matrix element individually.

I did a function which is exactly doing that.

The thing I don't understand why this is possible in a spreadsheet. For
example, naming the above mentioned matrix "aMatrix", the following
formula would product the correct result: {= 2*aMatrix}. Weird stuff,
in my opinion.





All times are GMT +1. The time now is 11:21 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com