New Excel Blog

nate oliver blog

Nate Oliver: Mr. Excel MVP, Microsoft MVP, Renaissance Man. And now…blogger. He just started and there’s already good content. Go check it out.

Nate Oliver’s Blog

Posted in Uncategorized

17 thoughts on “New Excel Blog

  1. Awesome start Nate,

    The amount of complex material you are effortlessly putting out is amazing. My head is spinning trying to keep up with it… Keep up the outstanding work. :)


  2. Does this mean we should all be using “Let” statements?

    “He’s correct, Let is optional. However, I lke this pedantic nonsense, and tend to use it where applicable in my VBA. It doesn’t cost me many keystrokes and it flags intrinsic assignment.”

    What say we?


  3. Maybe it’s a matter of which programming language one learned first. If you come from a background using Fortran or C, LET statements are noise.

    As for BASIC itself, the argument that it could signal places for compiler optimizations looks like nonsense since the BASIC compiler can easily spot IF, CASE, WHILE, DO and LOOP statements in which ALL ‘=’ tokens are treated as comparison operators. In all other statements, including FOR statements, the _first_ ‘=’ token is treated as an assignment operator and all subsequent ‘=’ tokens are treated as equality comparison operators. This is grammatically unambiguous. It may not be straightforward to humans, but it would be to a moderately well designed parser.

    So that leaves pedantic value. One person’s pedantic value is another’s wasted keystrokes and/or distracting clutter. Always or mostly using LET in modern BASIC dialects is an example of a form of OCD peculiar to BASIC programmers. Something to be pitied rather than admired.

  4. Thanks, gentlemen. I just spotted this.

    While I appreciate the pity, it’s simply something I like – and I’m not crazy about verbose code – I don’t like maximizing my keystrokes. I’m not saying Let’s for everyone, it appears to be for almost no one. Is using it a sign of OCD? That’s a fairly strong opinion – I just like it.

    In fact, virtually anything that appears in my blog isn’t for everyone, really.

    My blog is going to be hit or miss, I might get it right one day, perhaps wrong another. I didn’t start it to tell everyone their business. I’m simply throwing around ideas and content I’ve come across over the years… :)

  5. Hi Nate –

    I did you a small disservice. The right thing would have been to hold the LET discussion at your place.


  6. Hi Michael,

    No worries, really. It really isn’t for everyone, it’s just an opinion. I’m okay with the fact that most VB[A] developers really aren’t with me on this one – Bruce thinks it’s pure balderdash, and I respect his opinion.

    To clarify, for me, it’s not pure noise, it’s actually a way of self-documenting code. Does it optimize? Probably not, and if so, we’re talking about a very, very micro-optimization.

    It takes all kinds… :)

    In any event, hopefully you like some of the content, and thanks for the sentiments. I really appreciate it – some heavy hitters in this discussion!

  7. Hi Michael,

    That’s another subjective discussion. Some people would really have simpler code that’s nowhere near optimized. Fine by me, but I’ll mention it – seeing as I have OCD.

    I’m just trying to have a little fun with this blog, speak to a few different things I’ve noticed over the years. I want the content to be outstanding, but, as we’ve noted, some of it really is opinion-based.


  8. Claims that using LET provides self-documenting code is complete BS. Most programming languages have no LET or comparable token, yet many of those (e.g., Pascal) are considered much clearer than BASIC. Also, dependence on LET to signal assignments implies such programmers have little or no faith in their own ability to understand the language’s syntax.

    BASIC programmers who use LET are like people who when talking to you with no one else nearby nevertheless always start every sentence with your name. ‘Nate, your must really like typing. Nate, you must really hate having too much free space on your drive. Nate, you’ve confused being pedantic with being virtuous rather than being tiresome.’ Equally annoying.

  9. Nate: I left a comment on your very first blog post a week or two ago, but it never came out of moderation. You may need to check your settings to see if it’s deleting the comments or if they’re just sitting there waiting to be moderated.

  10. Hi Dick, I changed my options last night, having gotteen similar feedback. I don’t really know why comments aren’t flowing through.

    “Nate, you’ve confused being pedantic with being virtuous rather than being tiresome.’ Equally annoying.”

    I’ve never claimed to virtuous, I simply have an opinion. It’s 4 keystrokes, much less than I’ve wasted, here, considering your opinion on the matter. You do realize that I can crank out said keystrokes and read them in a very small fraction of a second?

    I get it, you agree with Bruce and not I. Fair enough. Is it your intention to change my opinion?

    This is a really crazy argument:

    “Also, dependence on LET to signal assignments implies such programmers have little or no faith in their own ability to understand the language’s syntax.”

    Do you really believe that I lack confiendence in my ability to interpret code that I’ve hand-written? If you do, guess again, you had a 50% chance of getting this right, and I’ll give you two guesses.

  11. Okay, I figured this out, Dick. Not sure why, but they all went to ‘Spam’. Working on making this work better going forward.

    Thanks, guys! :)

  12. I need help in being able to lookup between two worksheets to get the Guideline Raise %, but using the Performance rating and the % of Range Max to pull the appropriate value from the range table which is in the separate worksheet. I manually plugged what some of the Guideline Raise % should be but can’t seem to get a correct formula to work. Can someone help.


    Performance Rating % of range MaxGuideline Raise % Should be Guideline Raise %
    A 72.0% Need Formula 6.0%
    B 35.7% 4.0%
    B 18.6% 5.0%
    A 16.7% 9.0%
    C 32.9% 1.0%
    A 50.0% 6.0%
    B 56.0% 3.0%

    Separate worksheet

    Rating% of range max is > than or equal to % of range maxis < than Raise %
    A 0% 25% 9%
    A 25% 50% 8%
    A 50% 75% 6%
    A 75% 100% 3%
    B 0% 25% 5%
    B 25% 50% 4%
    B 50% 75% 3%
    B 75% 100% 2%
    C 0% 25% 2%
    C 25% 50% 1%
    C 50% 75% 0%
    C 75% 100% 0%

Posting code? Use <pre> tags for VBA and <code> tags for inline.

Leave a Reply

Your email address will not be published.