Forum Discussion
Haytham Amairah
Aug 08, 2019Silver Contributor
Re: modify VBA code to include dynamic columns instead of static
It's easy, just copy the code in a new button in the Diluted sheet, and change the sheet names in it.
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim i As Integer
i = 0
Sheets("Diluted").Activate
Dim columnNamesArray() As Variant
columnNamesArray = Array("Sample Type", "Rack Type")
Dim columnName As Variant
For Each columnName In columnNamesArray
Dim columnNumber As Integer
columnNumber = Cells.Find(What:=columnName, After:=Range("A1"), LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Column
Cells(1, columnNumber).EntireColumn.Copy
Sheets("DilutedPLUS").Activate
Sheets("DilutedPLUS").Range("A1").Select
ActiveCell.Offset(0, i).Select
ActiveSheet.Paste
i = i + 1
Next columnName
ActiveSheet.Range("A1").Activate
Application.CutCopyMode = False
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub1 Reply
- gms4bBrass Contributor
Yes, yes, lol. I was thinking the same thing after I left work yesterday. I'm sure there's a way to combine it together into some sort of loop, but this is easier. I also created a 4th command button which sequentially runs each of the first three scripts! In the end, I think it'll be nice to have the option to run things separately....or just run everything.
Thanks again!
Greg