Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 17
Default paste values from an array to a range

Hi,

I can't get this code to work, I get the first element of the array
pasted to the range when I want all the elements to be pasted to the
range. I took this code from another script I wrote which works fine.
I just can't understand what is happening. When I check the locals
window the expected values are in the array.

So the array might contain 2, 4, 6, ... but the range will contain
only 2, 2, 2, ....


Sub work_dammit()

Freq = Range("L1").Value
j = Application.Count(Range("B:B"))
ReDim Array_Time(1 To j) As Variant
For i = 1 To j
Array_Time(i) = i * SRM_Freq
Next i

Range("A1:A" & j).Value = Array_Time

End Sub

Can anyone enlighten me.

thanks
nick

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,494
Default paste values from an array to a range

not sure how you get your values, so i simulated it this way.

array_time = Array(2, 4, 6)
For i = LBound(array_time) To UBound(array_time)

Range("a" & i + 1) = array_time(i)
Next

--


Gary


"Nick_F" wrote in message
oups.com...
Hi,

I can't get this code to work, I get the first element of the array
pasted to the range when I want all the elements to be pasted to the
range. I took this code from another script I wrote which works fine.
I just can't understand what is happening. When I check the locals
window the expected values are in the array.

So the array might contain 2, 4, 6, ... but the range will contain
only 2, 2, 2, ....


Sub work_dammit()

Freq = Range("L1").Value
j = Application.Count(Range("B:B"))
ReDim Array_Time(1 To j) As Variant
For i = 1 To j
Array_Time(i) = i * SRM_Freq
Next i

Range("A1:A" & j).Value = Array_Time

End Sub

Can anyone enlighten me.

thanks
nick



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,494
Default paste values from an array to a range

forgot to multiply by your freq

Range("a" & i + 1) = array_time(i) * SRM_Freq


--


Gary


"Nick_F" wrote in message
oups.com...
Hi,

I can't get this code to work, I get the first element of the array
pasted to the range when I want all the elements to be pasted to the
range. I took this code from another script I wrote which works fine.
I just can't understand what is happening. When I check the locals
window the expected values are in the array.

So the array might contain 2, 4, 6, ... but the range will contain
only 2, 2, 2, ....


Sub work_dammit()

Freq = Range("L1").Value
j = Application.Count(Range("B:B"))
ReDim Array_Time(1 To j) As Variant
For i = 1 To j
Array_Time(i) = i * SRM_Freq
Next i

Range("A1:A" & j).Value = Array_Time

End Sub

Can anyone enlighten me.

thanks
nick



  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,290
Default paste values from an array to a range

nick,
You should declare your variables.
Also, strongly suggest you add Option Explicit at the top of the module.
Your array is a horizontal array and it needs to be changed to a vertical array.
'--
Sub work_dammit()
Dim Freq As Double
Dim Array_Time() As Variant
Dim j As Long
Dim i As Long
Const SRM_Freq As Long = 10

Freq = Range("L1").Value
j = Application.Count(Range("B:B"))
ReDim Array_Time(1 To j)
For i = 1 To j
Array_Time(i) = i * SRM_Freq
Next i
Range("A1:A" & j).Value = Application.Transpose(Array_Time)
End Sub
--
Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware
(Excel Add-ins / Excel Programming)



"Nick_F"
wrote in message
Hi,

I can't get this code to work, I get the first element of the array
pasted to the range when I want all the elements to be pasted to the
range. I took this code from another script I wrote which works fine.
I just can't understand what is happening. When I check the locals
window the expected values are in the array.

So the array might contain 2, 4, 6, ... but the range will contain
only 2, 2, 2, ....
Sub work_dammit()
Freq = Range("L1").Value
j = Application.Count(Range("B:B"))
ReDim Array_Time(1 To j) As Variant
For i = 1 To j
Array_Time(i) = i * SRM_Freq
Next i
Range("A1:A" & j).Value = Array_Time
End Sub
Can anyone enlighten me.
thanks
nick

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 17
Default paste values from an array to a range

Thanks Jim and Gary,

Those suggestions helped solve the problem. Coming from a R/Matlab
background I forget that Excel works in rows while I prefer columns.
Sadly you replied too quickly so now I find myself with work to do for
the rest of the Friday afternoon when I could have snuck away for some
golf!

Have a good weekend
nick

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
adding range values to array Gary Keramidas Excel Programming 2 March 12th 07 03:59 AM
Copy Range and Paste to Array of Sheets bobwilson[_21_] Excel Programming 4 April 6th 06 01:23 PM
range values in an array? Mike Excel Programming 3 December 16th 05 04:56 PM
Best way to paste a variant array into a range? AnneB Excel Programming 2 April 28th 04 09:57 PM
Create Array From Values in range Tony Di Stasi[_2_] Excel Programming 2 February 27th 04 09:40 PM


All times are GMT +1. The time now is 12:27 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"