I come from the beautiful world of Obj C, which is based on the C programming language, and I've fallen in love with finding quirky ways to save space. However, I've looked through as much documentation as I can and I can't find anything juicy on VBA that will shorten this syntax:
If boolVar = True Then 'Do something Else 'Do nothing End If
In Obj C, and naturally C, I'm extremely familiar with doing this:
boolVar ? "Nope, tis false" : "Yup, tis true"
This is very similar to what most other languages use, some may use extra logical operators like !=
or ==
but that leaves me optimistic. I may not have looked in the right places, if that's the case PLEASE let me know where you get your documentation.
TLDR, can we shorten If/Then/Else to one line of code in VBA? This is extremely handy when the 'Do Somethings' are nothing more then setting another variable's single parameter, or enabling/disabling a button.
However, after VBA 6.5/Office 2007, Microsoft stopped licensing VBA for other applications. Office 2013, Office 2016, Office 2019 and Office 2021 include VBA 7.1.
Bookmark this question. Show activity on this post. The problem is that != does not work as a function in excel vba.
The alternative to the ternary operation is to use the && (AND) operation. Because the AND operator will short-circuit if the left-operand is falsey, it acts identically to the first part of the ternary operator.
Sub test() Dim x As Long Dim y As Long y = 1 x = IIf(y = 1, 1, 2) End Sub
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With