{Sturgeon’s Law} “Sure, 90% of all software is crap. That’s because 90% of everything is crap.” [Mary Shaw, Carnegie-Mellon University]

Abstract

Microsoft has decided in its eternal wisdom not to increase Application.Version beyond 16 from Excel 2016 on.

My function ApplicationVersion fixes this and returns a human readable version string.

Appendix – ApplicationVersion Code

Please read my Disclaimer.

Option Explicit

Function ApplicationVersion(Optional bShowBuild365 As Boolean = True) As String
'Returns MS Excel's version - with a little kludge
'Source (EN): http://www.sulprobil.de/applicationversion_en/
'Source (DE): http://www.berndplumhoff.de/applicationversion_de/
'(C) (P) by Bernd Plumhoff 23-Feb-2024 PB V0.6
Dim n As Integer
With Application
n = Val(.Version)
Select Case n
Case 16
  ApplicationVersion = "Excel 2016"
  On Error Resume Next 'We know what we are doing
  'Excel 365 introduced ValueToText
  n = Val(.ValueToText(19))
  If n = 19 Then
    If bShowBuild365 Then
      'When all of them are 365 you might want to know the build.
      ApplicationVersion = "Excel 365 (Build " & .Build & ")"
    Else
      ApplicationVersion = "Excel 365"
    End If
  Else
    'Excel 2021 introduced RandArray
    n = .RandArray(1, 1, 18, 18, True)(1)
    If n = 18 Then
      ApplicationVersion = "Excel 2021"
    Else
      'Excel 2019 introduced TextJoin
      n = Val(.TextJoin(" ", True, "17"))
      If n = 17 Then ApplicationVersion = "Excel 2019"
    End If
  End If
  On Error GoTo 0
Case 15
  ApplicationVersion = "Excel 2013"
Case 14
  ApplicationVersion = "Excel 2010"
Case 12
  ApplicationVersion = "Excel 2007"
Case 11
  ApplicationVersion = "Excel 2003"
Case 10
  ApplicationVersion = "Excel 2002"
Case 9
  ApplicationVersion = "Excel 2000"
Case 8
  ApplicationVersion = "Excel 97"
Case 7
  ApplicationVersion = "Excel 7/95"
Case 5
  ApplicationVersion = "Excel 5"
Case Else
  ApplicationVersion = "[Error]"
End Select
End With
End Function

Download

Please read my Disclaimer.

ApplicationVersion.xlsm [17 KB Excel file, open and use at your own risk]