У меня есть таблица, где пользователь может определить некоторые правила, но я борюсь с тем, чтобы журнал работал. Я хочу, чтобы результаты разностного анализа основывались на том, чего хочет пользователь, но в идеале я хочу держаться подальше от них, но в нескольких случаях выбора или в строках.Оператор переменной переменной vba Excel
Что у меня есть это (упрощенный - это в цикле, так что значения будут изменяться для каждой строки - Я просто использую пример):
Оператор может меняться, это может быть «>», «=>» и т.д.
Field1Value = "Football"
Operator1 = "="
Rule1 = "Football"
If Evaluate(Field1Value & Operator1 & Rule1) Then
'Run My Code
End If
Таким образом, в приведенном выше примере логика была бы правдой, и мой код будет работать, но я получаю ошибку несоответствия типов.
Есть идеи?
Благодаря Chris
******** ******** UPDATE
Вот полный код:
Workbooks(MasterWB).Activate
Sheets("Rules").Select
NoRules = Sheets("Rules").Range("J6").End(xlDown).Row
For a = 7 To NoRules
Field1 = Workbooks(DataWB).Sheets(DataWS).Rows(1).Find(Workbooks(MasterWB).Sheets("Rules").Cells(a, 10), , xlValues, xlWhole).Column
Operator1 = Sheets("Rules").Cells(a, 11)
Rule1 = Sheets("Rules").Cells(a, 12)
Operator = Sheets("Rules").Range("J5").Cells(a, 13)
Field2 = Workbooks(DataWB).Sheets(DataWS).Rows(1).Find(Workbooks(MasterWB).Sheets("Rules").Cells(a, 14), , xlValues, xlWhole).Column
Operator2 = Sheets("Rules").Cells(a, 15)
Rule2 = Sheets("Rules").Cells(a, 16)
HighlightColumn = Workbooks(DataWB).Sheets(DataWS).Rows(1).Find(Workbooks(MasterWB).Sheets("Rules").Cells(a, 17), , xlValues, xlWhole).Column
HighlightColour = Workbooks(MasterWB).Sheets("Rules").Cells(a, 17).Interior.ColorIndex
Workbooks(DataWB).Activate
With Workbooks(DataWB).Sheets(DataWS)
.Select
Lastrow = .UsedRange.Rows.Count
For b = 2 To Lastrow
Field1Value = .Cells(b, Field1).Value
If Evaluate(Field1Value & Operator1 & Rule1) Then
.Cells(b, HighlightColumn).Interior.ColorIndex = HighlightColour
End If
Next b
End With
Next a
Возможно, вы предоставите код пожалуйста? –