VBA UDF/Array

jbehmoaras

New Member
Joined
Apr 8, 2011
Messages
8
It's been a few years since I set one of these up but I referenced my old code that worked and cant figure out what I'm doing wrong now.

I created the following structure:
Public Type STRArr
occ As Variant
adr As Variant
revpar As Variant
period As Variant
year As Integer
End Type

delared an object
Public strFY() As STRArr

and just tried to redim the array

Public Sub popArr()
ReDim Preserve strFY(10)
End Sub

and am getting a variable not defined error ... not sure i understand why? Also i think i have the correct reference libraries installed.
 

Excel Facts

Which came first: VisiCalc or Lotus 1-2-3?
Dan Bricklin and Bob Frankston debuted VisiCalc in 1979 as a Visible Calculator. Lotus 1-2-3 debuted in the early 1980's, from Mitch Kapor.
Works fine for me. Where are all these bits and pieces?
 
Upvote 0
well, because i was having issues, i created the sub above popArr just to test it, so thats all i'm running.

maybe i dont have the right references setup after all and otherwise ... wtf
 
Upvote 0
Hi,

I think this is ok

Code:
Option Explicit
 
Public Type STRArr
    occ As Variant
    adr As Variant
    revpar As Variant
    period As Variant
    year As Integer
End Type

Public Sub popArr()
    Dim strFY(10) As STRArr
    
    strFY(1).occ = "something1"
    strFY(2).occ = "something2"
    'and so on
End Sub

HTH

M.
 
Upvote 0
Hmmm...
I've tried rebooting XL to no avail.
Can anyone posted suggested references that should be active so I can verify, I'm using a new installation of XL 2010 on my work machine so its possible it hasn't been configured correctly.
 
Upvote 0
My Active References are:

Visual Basic For Applications
Microsoft Excel 14.0 Object Library
OLE Automation
Microsoft Office 14.0 Object Library

HTH

M.
 
Upvote 0
Hi,

I think this is ok

Code:
Option Explicit
 
Public Type STRArr
    occ As Variant
    adr As Variant
    revpar As Variant
    period As Variant
    year As Integer
End Type

Public Sub popArr()
    Dim strFY(10) As STRArr
    
    strFY(1).occ = "something1"
    strFY(2).occ = "something2"
    'and so on
End Sub

HTH

M.

when i try this i get a user-defined type not defined error
 
Upvote 0
I tried copying the exact same text into a new file and it worked fine ....

This is very strange.... I need it to work in the original file.
 
Upvote 0
If you have the same Active References in both workbooks its very strange indeed...

I've made some search in the internet and have found that the "user-defined type not defined error" is mostly related with References.

If its not your case i dont know what to look for...

M.
 
Upvote 0
If you have the same Active References in both workbooks its very strange indeed...

I've made some search in the internet and have found that the "user-defined type not defined error" is mostly related with References.

If its not your case i dont know what to look for...

M.

FYI

I've tried copying the code into a new module and it seems to be working fine for now. I dont think its possible to corrupt a module ...
 
Upvote 0

Forum statistics

Threads
1,224,574
Messages
6,179,628
Members
452,933
Latest member
patv

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top