Excel 2011 Buggs

mikerickson

MrExcel MVP
Joined
Jan 15, 2007
Messages
24,355
Well, I found one.

Format(-12,"0.00") returns vbNullString rather than "-12.00"

Using Application.Text is a work-around fix.

Edit: Huh? It just fixed itself.
 

Excel Facts

Show numbers in thousands?
Use a custom number format of #,##0,K. Each comma after the final 0 will divide the displayed number by another thousand
Do you really mean Excel 2011?
 
I was just wondering, sometimes it can be a little confusing with all the versions kicking about.

I think I almost downloaded a trial of Excel 11.

Wasn't until I saw the name of the file that I twigged it was meant for the Mac.:)
 
Its looking better than 2004. The VBA has been upgraded to v.6 (Join, Split, Replace).
It looks like the online Help system is still being worked on. Excel Help is OK, but VBA help is non-existant.

No ActiveX controls for the sheet.
But Userforms seem stabler than (my copy of) Excel 2004.

Oddly enough Userforms.Add("Userform1") fails, so I'm guessing that there is no creation of userforms at run time.
 
Hi Mike

This means that you can finally return typed arrays from functions in the mac, right?

I never liked to use variants if I can use typed variables. I had, however, problems with mac users in the past and so I was usually careful not to post functions that return typed arrays to be compatible with the mac, but I must say that it bothers me.
 
I haven't dug into passing typed arrays rather than variants. It on my list.
What would be the syntax for a routine like this.
If I try delcaring the function as an array, I get illegal ReDim errors or an error on the reverseArray = Result line.

Code:
Sub test()
    Dim testArray() As Long
    ReDim testArray(1 To 3)
    testArray(1) = 11
    testArray(2) = 12
    testArray(3) = 13
    
    MsgBox Join(reverseArray(testArray))
    
    'this gives a type mismatch error:array or user-defined type expected 
    'MsgBox Join(reverseArray(Array(21, 22, 23, 24, 25)))
End Sub

Function reverseArray(aArray() As Long) As Variant
    Dim Low As Long, High As Long, i As Long
    Dim Result As Variant
    Low = LBound(aArray): High = UBound(aArray)
    ReDim Result(Low To High)
    
    For i = Low To High
        Result(i) = aArray(High - i + Low)
    Next i
    reverseArray = Result
End Function
I guess I'm not sharing your dislike of variant arrays.
 
You can't coerce a variant to a numeric array as the second invocation attempts.

A variant parameter is a 'universal recipient' of arguments, which is very convenient for procedures like sorting.
 
On topic and off the subject, vise versa...Does Mac support Active X? I read somewhere breifly that it does not, although I am not sure if the 2011 does, or for arguments sake, Excel for Mac ever did or did not.

Please enlighten me as I have zero experience with Mac.
 
ActiveX controls that can be put on a worksheet are not supported by Excel 2011, nor have they ever been supported for Mac.
However
 

Forum statistics

Threads
1,222,630
Messages
6,167,191
Members
452,104
Latest member
jadethejade

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