This is very complicated code so I'm going to have to just focus on the specifics of your question. I do not even know the procedure to run this code, since it appears that a bunch of data setup is required before this sub runs.
Why do you want to avoid copy and paste? You said it might be done in fewer lines of code, but fewer is not always better. Also, it's only two lines of code, so the best we can do is one:
or this
But if your code produces the desired results I wouldn't touch it.
I do feel obligated to point out a couple of things.
There are a large number of global variables in ASCE_Equipment. They can be used judiciously but can also wreak havoc if you are trying to diagnose a bug. This is called common environment coupling and is generally considered undesirable. The best practice is to pass variables as arguments to subs, rather than making them all global.
There are undeclared variables. I strongly recommend to everyone that they use Option Explicit and declare variables. Doing so prevents a lot of bugs and runtime errors.
There are frequent uses of deeply nested If/Else statements. In these cases, you can use the ElseIf structure to avoid the nesting. This is not a bug, but it is a tighter coding technique that is more readable and less prone to error. Here is a section of Sub variables rewritten:
Bookmarks