Apologies... my VBA skills are pretty much non-existent....
What I am trying to do is to create a macro in Excel, where data in a column (1) is replaced by the column header (SAND, LS and CS). Here is an example table:
DEPTH | SAND | LS | CS |
---|---|---|---|
600 | 1 | -999 | -999 |
700 | -999 | -999 | 1 |
800 | 1 | -999 | -999 |
900 | -999 | 1 | -999 |
And here is the result when I run the macro:
DEPTH | SAND | LS | CS |
---|---|---|---|
600 | SAND | -999 | -999 |
700 | -999 | -999 | CS |
800 | SAND | -999 | -999 |
900 | -999 | LS | -999 |
However, what I need is for Excel to read the Header in the first row to replace 1. Not the column letter (for example read SAND and not Columns("B:B") in the code below. I have many different files of the same format, but with different numbers of columns and different column headers, hence the question.
Here is an example of the macro I created.
Sub LithReplace()
'
' LithReplace Macro
'
'
Range("B1").Select
Selection.Copy
Columns("B:B").Select
Selection.Replace What:="1", Replacement:="SAND ", LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
Range("C1").Select
Application.CutCopyMode = False
Selection.Copy
Columns("C:C").Select
Selection.Replace What:="1", Replacement:="LS ", LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
Range("D1").Select
Application.CutCopyMode = False
Selection.Copy
Columns("D:D").Select
Selection.Replace What:="1", Replacement:="CS ", LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
End Sub
Thanks in advance.