View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
J. Caplan[_2_] J. Caplan[_2_] is offline
external usenet poster
 
Posts: 25
Default Error trying to write array to range

I realized I was missing the End Sub after I submitted, but since that wasn't
the problem, I didn't bother re-posting.

I was about to reply that my worksheet is not protected, and I realized what
the problem is. I wrote this UDF but had not put in hooks to call it yet, so
I altered the code to a formula I wrote and had it call my function. I am
failing to write to the cells since I am in the middle of a formula when I am
trying to write these values.

If I call my function from a button click, it writes fine.

Thanks for the reply and sorry for jumping the gun and posting when it was
clearly "User Error"!!!

"Dave Peterson" wrote:

It worked ok in my brand new test worksheet. But I would add an "exit sub"
before the errorhandler: line.

Is your worksheet protected?

J. Caplan wrote:

I have data in a two dimensional array of Variants but I get an
"Application-defined or Object-defined error" (number 1004) when I try to
assign to the array to the range. I tried to simplify this with a
one-dimensional array of strings and that still fails. Here is my simple
test below

Public Sub MyTest()

Dim arr() As String
ReDim arr(1 To 5)

On Error GoTo ErrorHandler

arr(1) = "AB"
arr(2) = "CD"
arr(3) = "EF"
arr(4) = "GH"
arr(5) = "IJ"

Dim rng As Range
Set rng = Range("A2", Cells(2, 5))
Debug.Print (rng.Address) ' <== Returns $A$2:$E$2

rng.value = arr ' <== ERROR OCCURS ON THIS LINE

ErrorHandler:
Call MsgBox(Err.Description & " - " & Err.Number)
End Sub

What am I missing?


--

Dave Peterson