Preheat the oven to 350 F. Line 2 cupcakes pans with 24 cupcake papers. In a stand mixer, cream the butter and sugar on high for 2-3 minutes or until light colored and fluffy. Beat in the eggs one at a time. Beat in the vanilla.
In a separate bowl, whisk together the flour and baking powder. Alternately add the dry ingredients to the wet ingredients with the milk in three parts, stirring just until combined and scraping down the sides as necessary.
Spoon the batter into the lined cupcakes pan, dividing between all 24. Bake for 20-25 minutes or until a toothpick inserted comes out clean. Let cool for 5 minutes in the pan and then remove to a wire rack to cool completely.
To make the buttercream, beat the softened butter in a stand mixer for 2-3 minutes until light in color and fluffy. Beat in the powdered sugar, vanilla and enough of the heavy cream or milk to make a spreadable consistency. Beat the frosting on high for 3-4 minutes or until very fluffy.
Make the strawberry filling by sprinkling the granulated sugar over the finely diced strawberries. Let sit for 15 minutes until the strawberries release their juices.
To assemble the cupcakes, spread a small amount of frosting on the top of each cooled cupcake, like a mini crumb coat. This will keep the strawberry juices from soaking into the cupcake. Then pipe a circle of buttercream around the outside of each cupcake. Fill the center with a tablespoon or two of the strawberry filling. It is best if the cupcakes are filled with strawberries just a few hours or right before eating them.