It would be far simpler to use an array instead of a variable for every block.
In your case, I'd imagine you'd create an array the same size as the workshop grid, with each cell in the array representing an individual block. So if block option 1 is placed at the 3x2 (zero-based) location in the editing grid, then set a value of 1 at the array(3,2) location. Then, when you load the combat stage, just have a loop run through each XY cell in the array, and create the block corresponding to the value in the current cell.
Also, if possible, try to have a single sprite object for all the different types of blocks, and use animations or frames to set the specific type of block. That way, when you're looping through each XY of the array, you can just create the one sprite object, and automatically assign it's animation/frame based on the value in the loop's current XY location.