interface range command is really a macro that allows you to configure the same commands on a range of interfaces, and they don't necessarily need to be contiguous.
spanning-tree portfast default
spanning-tree portfast bpduguard default
interface range GigabitEthernet1/0/1 - 24 , 35 , 48
description ACCESS PORT
switchport access vlan 10
switchport voice vlan 20
switchport mode access
storm-control broadcast level 5.00
ip dhcp snooping limit rate 50
srr-queue bandwidth share 1 30 35 30
mls qos vlan-based
Edit, excerpt from the Cisco Press CCNP Practical Studies: Switching
Cisco has recognized the administrative overhead of this common task
on Cisco IOS-based switches and has introduced a new global
configuration command interface range that allows you to apply
commands to a range or list of interfaces at the same time. This
command is actually a macro, which means that when used, the macro
actually invokes a series of commands. This process is transparent to
the administrator. The configuration file contains no reference to the
interface range macro; instead it displays each of the configuration
commands invoked by the macro.
Edit based on you comment about Auto Smartport Macros:
The Auto Smartport Macros can be useful if you often connect/disconnect various types of devices in a large network. You want to make sure it's worth your while since you may be supporting multiple configuration types, some of which may never get connected to a particular switch.
Many companies consider this a security risk because they want unused ports disabled, not available every time someone wants to just plug in a random device. Static macros are more secure in that regard, not automatically reconfiguring a port to accommodate a switch or router that an end-user bought at a local store and just plugs in.
Keep in mind that if you use this for connecting network infrastructure devices like switches or routers, whoever is making the connections may accidentally connect to the wrong port, and everything seems to come up and work correctly, but it doesn't match your documentation.
You may find that creating and maintaining these macros is is worth the effort, or you may find it is a lot of work for little gain.