When you create an array from a selection in excel it ignores the fact that some rows are hidden.

For example if you have data in columns A, B, and C and column B is hidden, the array still has 3 columns and 4 rows. 

Is there a way to either

1. Drop columns or rows from the array once it's created or... I.e. drop column B
2. tell the array to consider only the non hidden columns when it;s being formed (so it would only consider column A, C.

**Some code to illustrate what I want**
dim v as variant
Range("A2:C4").Select
v = selection

the selection is now 3 columns wide by 4 rows deep. I just want the two columns in the selection which are not hidden. 

The only two ways I can think of to do that are 
(1) drop something from the original selection
(2) not select the hidden columns in the first place.

maybe I can select a non-contiguous range and then turn that into an array?