Preheat the oven to 350 degrees F.
In the bowl of a stand mixer, cream together butter, oil, and sugar with the paddle attachment.
Add in eggs, vanilla, and yogurt.
Beat on medium speed until lighter in color and fluffy, about 2-3 minutes.
After you mill your flour, pour it through a sifter and sift until most of the bran is left behind (you should have 2 ½ cups after the flour is sifted).
In a separate bowl, mix together the flour, baking powder, baking soda, and salt.
Working in batches, add ⅓ of the flour mixture into the wet ingredients, then half of the buttermilk, mixing on low speed between each addition. Repeat, and end with adding in the rest of the dry ingredients.
Line a cupcake pan with liners, and fill each one with the cupcake batter about halfway. Be careful not to fill them too much, or they will overflow while baking.
Bake for 18-22 minutes, until a toothpick inserted in the middle comes out clean.
While the cupcakes are baking, prepare the icing.
In a large bowl, beat the butter until it is creamed.
Add in half of the powdered sugar, along with the vanilla and half of the milk.
Add in the rest of the powdered sugar and beat on high speed until fluffy.
Add in remaining milk if needed to reach desired consistency.
Use a piping tip to frost the cooled cupcakes or spread the icing on with a knife.