Function Call On Left Hand Side Of Assignment Must Return
#Else clause must be preceded by a matching #If
#Else If, #Else, or #End If must be preceded by a matching #If
#ElseIf must be preceded by a matching #If or #ElseIf and followed by an #ElseIf, #Else, or #End If
<Item> is not a valid control type (Error 720)
A compatible ActiveX component must be a Visual Basic executable or a DLL
A form can't be moved or sized while minimized or maximized
A module is not a valid type
A procedure of that name already exists
A procedure with a ParamArray argument cannot be called with named arguments
A property or method call cannot include a reference to a private object, either as an argument or as a return value (Error 98)
ActiveX component can't create object or return reference to this object (Error 429)
ActiveX Component did not run correctly (Error 338)
ActiveX component not correctly registered (Error 336)
ActiveX control 'item' not found (Error 363)
Add-in can't reference project
Ambiguous name detected
Application-defined or object-defined error
Argument not optional (Error 449)
Argument required for Property Let or Property Set
Array already dimensioned
Array argument must be ByRef
Assignment to constant not permitted
Automation error (Error 440)
Automation object doesn't have a default value (Error 443)
Bad DLL calling convention (Error 49)
Bad file mode (Error 54)
Bad file name or number (Error 52)
Bad interface for Implements: interface contains data fields
Bad interface for Implements: interface is derived from another pure interface with non-restricted methods
Bad interface for Implements: interface is not derived from Iunknown
Bad interface for Implements: method does not return HRESULT
Bad interface for Implements: method has out-only or LCID parameter
Bad interface for Implements: method has parameter with too many levels of indirection
Bad interface for Implements: method has underscore in name
Bad interface for Implements: methods uses type that is not supported by Visual Basic
Bad record length (Error 59)
Bad record number (Error 63)
Beginning of search scope has been reached; do you want to continue from the end?
Block If without End If
Breakpoint not allowed on this line
ByRef argument type mismatch
Calling convention not supported by Visual Basic
Cannot define a KWID_tkPUBLIC user-defined type within a private object module
Cannot display specified name because it is hidden
Cannot handle events for the object specified
Cannot jump to specified type because it is in the specified library, which is not currently referenced
Can't add a reference to the specified file
Can't assign or coerce array of fixed-length string or user-defined type to Variant
Can't assign to an array
Can't call Friend procedure on an object that isn't an instance of the defining class (Error 97)
Can't change data types of array elements
Can't create AutoRedraw image (Error 480)
Can't create necessary temporary file (Error 322)
Can't display hidden procedure
Can't display system information
Can't edit module
Can't empty Clipboard (Error 520)
Can't enter break mode at this time
Can't execute code in break mode
Can't execute immediate statements in design mode
Can't exit design mode because control can't be created
Can't find DLL entry point in specified DLL
Can't find project or library
Can't find Windows Help .exe file
Can't Get or Put user-defined type containing object reference
Can't have paramarrays with optional arguments
Can't load module; invalid format
Can't load or unload this object (Error 361)
Can't make an assignment to a read-only property
Can't open Clipboard (Error 521)
Can't perform operation because the project is protected
Can't perform requested operation (Error 17)
Can't perform requested operation since the module is hidden
Can't place conditional breakpoint on an array
Can't print form image to this type of printer (Error 486)
Can't print minimized form image
Can't quit at this time
Can't record into running module
Can't ReDim, Erase, or assign to Variant that contains array whose element is With object
Can't remove control or reference; in use
Can't remove default reference
Can't rename with different drive (Error 74)
Can't save file to TEMP directory (Error 735)
Can't set the project name at this time
Can't show non-modal form when modal form is displayed
Can't sink this object's events because it's already firing events to the maximum number of supported event recipients (Error 96)
Can't start new recording until current session is ended
Can't use character device names in file names: 'item' (Error 320)
Case Else outside Select Case
Case without Select Case
Circular dependencies between modules
Class doesn't support Automation (Error 430)
Class is not set (Error 31018)
Class not registered on local machine (Error 463)
Class not registered. 'item 1'
Code execution has been interrupted
Code resource lock error (Error 455)
Code resource not found (Error 454)
Compile error in hidden module: <module name>
Component could not successfully create requested object
Component 'item' or one of its dependencies not correctly registered: a file is missing or invalid
Component not correctly registered
Component not found in registered location
Conflicting attributes were found in 'item'. The defaults will be used
Conflicting names were found in 'item1'. The name 'item2' will be used
Connection to type library or object library for remote process has been lost (Error 442)
Constant expression required
Constants, fixed-length strings, arrays, user-defined types, and Declare statements not allowed as Public members of an object module
Could not access system registry (Error 335)
Could not create reference: 'item'
Could not execute specified program
Could not start Internet Explorer
Current module does not support Print method
Cyclic reference of projects not allowed
Data value named not found (Error 327)
Definitions of property procedures for the same property are inconsistent
Deftype statements must precede declarations
Destination label too far away; loop, Select Case, or block If too large
Device I/O error (Error 57)
Device unavailable (Error 68)
Disk full (Error 61)
Disk not ready (Error 71)
Display more load errors?
Division by zero (Error 11)
Do without Loop
Do you want to export specified object before removing it?
Duplicate declaration in current scope
Duplicate definition
Duplicate Deftype statement
Duplicate Option statement
Duplicate procedure name
Duplicate resources with same type and name
Edit can't be undone--proceed anyway?
Else without If
Empty Enum type not allowed
Empty watch expression
End If without block If
End of search scope has been reached; do you want to continue from the beginning?
End Select without Select Case
End With without With
Enum types defined in standard modules or private classes cannot be used in public object modules as parameters or return types for public procedures, as public data members, or as fields of public user defined types
Error accessing the system registry
Error in loading DLL (Error 48)
Error loading from file (Error 31037)
Error loading 'item'. A control could not be loaded due to load error. Continue?
Error loading 'item'. An error was encountered loading a property. Continue?
Error saving to file (Error 31036)
Errors during load. Refer to 'item' for details
Errors occurred during load
Event handler is invalid
Event not found
Exit Do not within Do...Loop
Exit For not within For...Next
Exit Function not allowed in Sub or Property
Exit Property not allowed in Function or Sub
Exit Sub not allowed in Function or Property
Expected array
Expected End Function
Expected End Property
Expected End Sub
Expected End With
Expected Function or variable
Expected procedure, not module
Expected procedure, not project or library
Expected procedure, not user-defined type
Expected procedure, not variable
Expected Sub, Function, or Property
Expected user-defined type, not project
Expected variable or procedure, not Enum type
Expected variable or procedure, not module
Expected variable or procedure, not project
Expected: <various>
Expression too complex (Error 16)
External name not defined
Failed to activate control 'item 1'. This control may be incompatible with your application. Make sure you are using the version of the control that was provided with your application.
Failed to load control 'item1' from 'item2'. Your version of 'item2' may be outdated. Make sure you are using the version of the control that was provided with your application.
File already exists (Error 58)
File already open (Error 55)
File format no longer supported
File is read-only
File not found (Error 53)
File specified was not found
Filename or class name not found during Automation operation (Error 432)
Fixed or static data can't be larger than 64K
Fixed-length strings and use of the 'new' qualifier are not allowed for fields in a public user defined type defined in an object module
Fixed-length strings not allowed as the type of a public member of an object module; private object modules not allowed as the type of a public member of a public object module
For control variable already in use
For Each can only iterate over a collection object or an array
For Each control variable must be Variant or Object
For Each control variable on arrays must be Variant
For Each may not be used on array of user-defined type or fixed-length strings
For loop not initialized (Error 92)
For without Next
Form already displayed; can't show modally (Error 400)
Form not found (Error 424)
Forward reference to user-defined type
Function call on left-hand side of assignment must return Variant or Object
Function marked as restricted or uses a type not supported in Visual Basic
Identifier too long
Identifier under cursor isn't a procedure name
Illegal parameter. Can't write arrays (Error 328)
Illegal parameter. Can't write object because it does not support persistence.
Illegal parameter. Can't write user-defined type.
Incorrect DLL version
Incorrect OLE version
Input past end of file (Error 62)
Insufficient Immediate window memory to create variable
Insufficient memory to save Undo information
Insufficient project information to load project on platform or with version now being used
Interface not valid for Implements
Internal error (Error 51)
Invalid Access mode
Invalid attribute in Sub, Function, or Property
Invalid Base Address
Invalid character
Invalid Clipboard format (Error 460) [1 of 2]
Invalid Clipboard format (Error 460) [2 of 2]
Invalid data format
Invalid data type for constant
Invalid event name
Invalid file format (Error 321) [1 of 2]
Invalid file format (Error 321) [2 of 2]
Invalid format in resource file (Error 325)
Invalid in Immediate window
Invalid inside Enum
Invalid inside procedure
Invalid length for fixed-length string
Invalid Next control variable reference
Invalid object use (Error 425)
Invalid optional parameter type
Invalid or unqualified reference
Invalid ordinal (Error 452)
Invalid outside Enum
Invalid outside procedure
Invalid ParamArray use
Invalid pattern string (Error 93)
Invalid picture (Error 481) [1 of 2]
Invalid picture (Error 481) [2 of 2]
Invalid picture type (Error 485)
Invalid procedure call or argument (Error 5)
Invalid procedure name
Invalid property name
Invalid property value (Error 380) [1 of 2]
Invalid property value (Error 380) [2 of 2]
Invalid property-array index (Error 381)
Invalid qualifier
Invalid ReDim
Invalid syntax for conditional compiler constant declarations
Invalid Template
Invalid type-declaration character
Invalid use of AddressOf operator
Invalid use of base class name
Invalid use of Me keyword
Invalid use of New keyword
Invalid use of Null (Error 94)
Invalid use of object
Invalid watch expression
Item' already exists in project
'item' cannot be added because it is referenced but not in use by any items in the project. To correct this, uncheck 'Remove information about unused ActiveX Controls' in Project Options.
Item' could not be loaded
'Item' could not be loaded. Remove it from the list of available add-ins?
Item' could not be registered
'item' designers can only be used in DLL projects
'item' designers cannot be private
'item' designers cannot be public in ActiveX EXE projects
'item' designers must be public and cannot be used in Standard EXE projects
'Item' has an old file format. When saved, it will be saved in a newer format.
'item' has caused an access violation. Remove it from the list of available Add-Ins?
'Item' is a binary form and can't be loaded into Visual Basic
'Item' is a read-only file
'item' is a single-threaded component and cannot be used in multi-threaded projects. Change the threading model for 'item' or contact the component vendor for an updated version.
There's a compile error in VBA that reads as follows:
Compile error:
Function call on left-hand side of assignment must return Variant or Object.
To produce this compile error, you just need a function:
..And then a function call on the left-hand side of an assignment - for example:
If I remove the return type from the function's signature, I get a function that returns an implicit , and the compiler is satisfied - but now there's a run-time error 424 / "Object Required".
So I make the function return an actual object:
Now at run-time the error is 438 / "Object doesn't support this property or method" - obviously, that method makes no sense whatsoever.
I cannot for the life of me think of anything that would be a valid, legitimate (and warranted?) use of a function call on the LHS of an assignment.
That compile error exists for a reason, so there must be a valid use case. What is it?
vbacompiler-errors
One thought on “Function Call On Left Hand Side Of Assignment Must Return”