View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
drdavidge[_5_] drdavidge[_5_] is offline
external usenet poster
 
Posts: 1
Default Macro to rearrange/add columns based on column header?


I actually kinda figured this out from some other posts on here, but not
completely. Heres the code:


Code:
--------------------

Sub blah()

Dim rng As Range
Dim current_sheet
current_sheet = ActiveSheet.Name
Worksheets.Add().Name = "ReArranged"
Sheets(current_sheet).Select

For Each rng In Range("A1:IV1")
If rng.Value = "Facility ID" Then
rng.EntireColumn.Copy
Sheets("ReArranged").Select
Columns("E:E").Select
ActiveSheet.Paste
Sheets(current_sheet).Select
End If
Next rng


End Sub

--------------------


This works great, but I am going to have to search for about 30-40
columns and copying and pasting this over and over seems to be a little
redundant. Is there some way I can setup an array that has the columns
header i am looking for (for example, in this function it is "Facility
ID") and the column letter it should go in (here it is column "E") ? I
have a general idea but I have no idea how to translate it into excel
vba terms.

So basically it seems like I need it to search the column headers for a
name in an array, and if found, put it in the column that corresponds to
that specific header.

I was thinking that I could maybe make the "array" as an excel sheet
and use a VLOOKUP to find out which column to paste into. But again, I
am not sure how to code this. Is there any easier ways?


--
drdavidge
------------------------------------------------------------------------
drdavidge's Profile: http://www.excelforum.com/member.php...o&userid=36168
View this thread: http://www.excelforum.com/showthread...hreadid=559477