MrExcel Message Board


Go Back   MrExcel Message Board > Question Forums > Excel Questions

Excel Questions All Excel/VBA questions - formulas, macros, pivot tables, general help, etc. Please post to this forum in English only.

Reply
 
Thread Tools Display Modes
Old Apr 19th, 2002, 08:25 AM   #1
zviito
 
Join Date: Apr 2002
Posts: 6
Default

This is a two part question

I have a 2D array, say TheArray(1 to 365, 1 to 1000) say 365 days in year and 1000 trees. The data input is the number of fallen leaves. I would like to:-

1 - perform calculations on the data in rows. eg say row 1 is january first would like to find average number of fallen leaves.

2 - would like to put data from array into a chart/histogram, but not sure how to do that without actually printing the whole array into a worksheet and then using cell references (which I feel is lenghty)

thanx
zviito

p.s the tree and leaf thing is just an example I am not really doing this.....
zviito is offline   Reply With Quote
Old Apr 19th, 2002, 01:47 PM   #2
Mark W.
MrExcel MVP
 
Join Date: Feb 2002
Location: Austin, Texas USA
Posts: 11,653
Default

Quote:
On 2002-04-19 02:25, zviito wrote:
This is a two part question

I have a 2D array, say TheArray(1 to 365, 1 to 1000) say 365 days in year and 1000 trees. The data input is the number of fallen leaves. I would like to:-

1 - perform calculations on the data in rows. eg say row 1 is january first would like to find average number of fallen leaves.

2 - would like to put data from array into a chart/histogram, but not sure how to do that without actually printing the whole array into a worksheet and then using cell references (which I feel is lenghty)

thanx
zviito

p.s the tree and leaf thing is just an example I am not really doing this.....
I saw your original posting yesterday... and, couldn't understand your aversion to entering the data onto a worksheet. That being the case... why aren't you using a statisical package?
Mark W. is offline   Reply With Quote
Old Apr 20th, 2002, 12:38 PM   #3
zviito
 
Join Date: Apr 2002
Posts: 6
Default

well, I am new to vba, I am only just learning how to use it (am student). The data that I have put into the array is from an iterative process so its maximum size is actually about 365 X 10000 (number of iterations).

as you can see this makes for a very large worksheet. I have put the data into a worksheet, and then manipulated it from there. I just wondered if there is an easier way to do it by just calling the data from the array without having to display it first.

I am going to try and use a for next loop on the data in the array this weekend and see how it goes.
zviito is offline   Reply With Quote
Old Apr 20th, 2002, 05:01 PM   #4
Tom Schreiner
 
Join Date: Mar 2002
Posts: 6,205
Default

Hi
Where is your array coming from?
From what type of file?
Obviously too many elements for one worksheet...
Seems to be an easy problem if you might care to post a little more details?
Thanks,
Tom
Tom Schreiner is offline   Reply With Quote
Old Apr 22nd, 2002, 07:04 AM   #5
zviito
 
Join Date: Apr 2002
Posts: 6
Default

Thank you Tom.

Well the Array as I said before is 2D. Its maximum size is 365 (days) by 10 000 (trials/iterations)
The array is actually the result of a random number generator (using the Rnd() function in VBA). I am doing some statisitical analysis. To answer a previous question, I am not using a statistical package cause I only have a standard computer with the standard office packages (unless there is a statistical programme that I am not aware of).

1 - performing calculations on the data in rows. eg say row 1 is january first would like to find average number for January.

2 - would like to put data from array into a chart/histogram. I have just learnt how to draw a chart. (recorded a macro then studied the code) so I think if I manage to do step 1, I may then print the chart data onto a worksheet instead of the whole array, then go from there.

I was going to try and use a for next loop on the data in the array this weekend and see how it goes, but I haven't quite finised it.
zviito is offline   Reply With Quote
Old Apr 22nd, 2002, 08:09 AM   #6
Tom Schreiner
 
Join Date: Mar 2002
Posts: 6,205
Default

Hi

You need a simple average for each of the 365 elements?


Quote:

Sub Avg()
Dim TheDate As Date
Dim ThisDateAvg, e1, e2, DayTotal
Dim MyVeryLargeArray(1 To 365, 1 To 10000)
'assumes MyVeryLargeArray is loaded
For e1 = 1 To 365
DayTotal = 0
For e2 = 1 To 10000
DayTotal = DayTotal + MyVeryLargeArray(e1, e2)
Next
ThisDateAvg = DayTotal / 10000
TheDate = #12/31/2000#
TheDate = TheDate + e1
Range("A" & e1).Value = TheDate
Range("B" & e1).Value = ThisDateAvg
Next
End Sub

Tom
Tom Schreiner is offline   Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
All contents Copyright 1998-2009 by MrExcel Consulting.