Selected Answer
Please try this code.
Sub SaveIt()
' 24 May 2018
Dim WbName As String
Dim Sp() As String
Dim Tmp As String
' split a name like "TXL 180126 General 2018-05-24_1644.xlsx"
' into "TXL 180126 General " and "-05-24_1644.xlsx"
Sp = Split(ActiveWorkbook.Name, CStr(Year(Date)))
WbName = Sp(0)
' if the name doesn't include a date remove the file extension:-
If UBound(Sp) = 0 Then
Sp = Split(WbName, ".")
ReDim Preserve Sp(UBound(Sp) - 1)
WbName = Join(Sp, ".")
End If
Tmp = Right(WbName, 1)
' if WbName doesn't end on space or underscore, append a space
If InStr(" _", Tmp) = 0 Then WbName = WbName & " "
' modify the intervening characters as required
' but avoid characters not allowed in file names:-
Tmp = Format(Now(), "yyyy-mm-dd hhmm")
' the 'FileFormat' instruction will add back the extension.
' (It may be different form what it was originally.)
ActiveWorkbook.SaveAs Filename:=WbName & Tmp, _
FileFormat:=xlOpenXMLWorkbook, _
CreateBackup:=False
End Sub
I presumed that the workbook's file name might already include a date and time and, since I changed the date/time format, that it might not have the same format created by this code, either. The code should work under all these eventualities. Please test it thoroughly before deployment.