You could do it like this:
Sub SaveWkAs(sheetName as String)
Dim folderPath As String
Dim newFileName As String
Dim ws as Worksheet
Set ws = ThisWorkbook.Worksheets(sheetName)
folderPath = Application.ActiveWorkbook.Path & "\" ' get the workbooks current file location
newFileName = folderPath & ws.Range("E30").Value & " " & ws.Range("F30").Value & " " & ws.Range("G30").Value & " " & ws.Range("H30").Value & ".xlsm" ActiveWorkbook.SaveAs Filename:=newFileName
MsgBox "The file has been saved as " & newFileName
End Sub
Then when you call the Sub just pass the name of the sheet you want it to derive the file name from.