How to create a vertical bullet gauge?

"GaugeOrigin"

Update: it turns out that there is an undocumented option "GaugeOrigin" that controls the orientation of the gauge.

BulletGauge[{42, 82}, {40, 68, 97}, {0, 100}, "GaugeOrigin" -> #, ImageSize ->Medium] & /@
   {Bottom, Top, Left, Right} // Row[#, Spacer[10]] &

enter image description here

In version 9, this produces the error message

OptionValue::nodef: Unknown option "GaugeOrigin" for BulletGauge

but gives the correct result. So you can suppress the error message using Quiet or use it a suboption of the option Method, i.e., Method -> {"GaugeOrigin" -> Bottom} works without complaint.

Update 2: The option "TickLength" controls the tick lengths:

BulletGauge[{42, 82}, {40, 68, 97}, {0, 100}, 
   "GaugeOrigin" -> #, "TickLength" -> Scaled[.3], ImageSize -> Medium] & /@
 {Bottom,  Top, Left, Right} // Row[#, Spacer[10]] &

enter image description here

Original answer:

You can post-process a BulletGauge to make it vertical:

bg = BulletGauge[{42, 82}, {40, 68, 97}, {0, 100}]

enter image description here

makeVertical = Graphics[GeometricTransformation[#[[1]], RotationTransform[Pi/2]] /.
  Text[a___, Offset[o_, p_], off_, dir_] :> 
   Text[a, Offset[{0, -20}, p], {1, 0}, -Reverse @ dir]] &;

makeVertical @ bg

enter image description here