Application.Transpose in VBA EXCEL 2003

A

atemesov

I have been using Application.Transpose function since Excel 97 first
appeared. It allows to transfer a range of cells values into Variant
array in VBA code without For ...Next loop.

Currently I have switched to Excel 2003 and uncovered that this
construction (Application.Transpose) behaves differently:
Suppose you have inserted a break point inside of the function that
uses Application.Transpose
When execution comes to the point when you use that variant Array
suddenly execution of the function starts again from the beginning of
the routine, and this going on as many times as many elements original
Range consists from!

Does anyone have experienced anything similar?

Please let me know.

Thank you.

Alex
 
P

Piotr Lipski

Dnia 27 Jun 2006 14:15:39 -0700, atemesov napisa³(a):

[...]
Currently I have switched to Excel 2003 and uncovered that this
construction (Application.Transpose) behaves differently:
Suppose you have inserted a break point inside of the function that
uses Application.Transpose
When execution comes to the point when you use that variant Array
suddenly execution of the function starts again from the beginning of
[...]

I've just tested this code:

Sub aaa()
Dim v As Variant
' breakpoint below
v = Application.WorksheetFunction.Transpose(Range("C5:E7"))
End Sub

Sub bbb()
aaa
End Sub

Pressing F5 inside bbb executes to breakpoint. Then, after pressing F5 or
F8 debugger behaves OK.

Maybe you have some Loop or recurring _Change event...
 
R

RB Smissaert

Don't quite understand.

Firstly, you don't need transpose to transfer a range to an array. You can
just do:
Dim arr
arr = Range(Cells(1), Cells(5, 10))

Secondly: > starts again from the beginning of the routine
Never seen this, could you give code that demonstrates this?

RBS
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top