Reputation: 125
I have the below code but I'm getting an error when I try to run the macro.
Based on my macro there is a moving column depending on criteria. Therefore I have added code to get the column number. See ColRef1
.
The issue I'm having is when I try to add this into my IF AND formula. The issue is with the first piece of the formula and perhaps I'm writing it incorrectly. IF(AND(RC&ColRef1&>0,U2>0)
Sub Test()
Dim GetRow1 As Integer
Dim GetRow2 As Integer
Dim GetRow3 As Integer
Dim GetCol1 As Range
Dim GetCol2 As Range
Dim ColRef1 As Integer
'finds last row on Client Options tab
Sheets("Client Options").Select
GetRow1 = ActiveSheet.Cells(Rows.Count, "G").End(xlUp).Row
'finds last row on Client Response tab
Sheets("Client Response").Select
GetRow2 = ActiveSheet.Cells(Rows.Count, "E").End(xlUp).Row
'finds last row on Recon tab
Sheets("Recon").Select
GetRow3 = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
'finds Column that contains Client Options since this is a moving column depending on number of brokers on recon
Sheets("Recon").Select
Set GetCol1 = ActiveSheet.UsedRange.Find("Client Options", , xlValues, xlWhole)
ColRef1 = GetCol1.Column
Sheets("Recon").Select
Range("B2").Value = "=IF(AND(RC&ColRef1&>0,U2>0),""FALSE"",IF(T2>0,(VLOOKUP(A2,'Client Options'!G$2:L$" & GetRow1 & ",6,FALSE)),IF(U2>0,(VLOOKUP(A2,'Client Response'!E$2:G$" & GetRow2 & ",3,FALSE)))))"
End Sub
Upvotes: 0
Views: 649
Reputation: 19837
RC&ColRef1
rather than RC5
(for example).Try this code (note - addresses such as U2
should be R2C21
).
Sub Test()
Dim GetRow1 As Long
Dim GetRow2 As Long
Dim GetRow3 As Long
Dim GetCol1 As Range
Dim ColRef1 As Long
'finds last row on Client Options tab
GetRow1 = Sheets("Client Options").Cells(Rows.Count, "G").End(xlUp).Row
'finds last row on Client Response tab
GetRow2 = Sheets("Client Response").Cells(Rows.Count, "E").End(xlUp).Row
'finds last row on Recon tab
GetRow3 = Sheets("Recon").Cells(Rows.Count, "A").End(xlUp).Row
'finds Column that contains Client Options since this is a moving column depending on number of brokers on recon
Set GetCol1 = Sheets("Recon").UsedRange.Find("Client Options", , xlValues, xlWhole)
If Not GetCol1 Is Nothing Then
ColRef1 = GetCol1.Column
Sheets("Recon").Range("B2").FormulaR1C1 = "=IF(AND(RC" & ColRef1 & " >0,R2C21>0),FALSE,IF(R2C20>0,(VLOOKUP(R2C1,'Client Options'!R2C7:R" & GetRow1 & "C12,6,FALSE)),IF(R2C21>0,(VLOOKUP(R2C1,'Client Response'!R2C5:R" & GetRow2 & "C7,3,FALSE)))))"
End If
End Sub
Upvotes: 1