Я хотел бы установить оператор IF для нечетных и четных значений в VBA Excel.
Это идея, которую я получил после этого запроса здесь:
VBA Excel запускать некоторые части кода только один раз при использовании командных кнопок
Мой код связан с другой частью кода выше и выглядит следующим образом:
Public Sub ResizeCiv2()
' image autoresize code
Dim targetSheet As Worksheet
Dim targetRange As Range
Dim targetShape As Shape
' Define the sheet that has the pictures
Set targetSheet = ThisWorkbook.ActiveSheet
' Define the range the images is going to fit
Set targetRange = targetSheet.Range("C3:K24")
' Loop through each Shape in Sheet
For Each targetShape In targetSheet.Shapes
' Check "picture" word in name
If targetShape.Name Like "*Picture*" Then
' Call the resize function
SizeToRange targetShape, targetRange
End If
Next targetShape
'elements + numeration code
Dim odd, even As Range
Set even = ActiveSheet.Range("C51")
Set odd = ActiveSheet.Range("C52")
If even.Value = "TRUE" Then
Call CivBox
Call Divider
ActiveSheet.Cells(51, 4).Value = ActiveSheet.Cells(51, 4).Value + 1
End If
If odd.Value = "FALSE" Then
ActiveSheet.Cells(52, 4).Value = ActiveSheet.Cells(52, 4).Value + 1
ActiveSheet.Range("M15").Value = Range("D52")
End If
End Sub
Нет ошибок, но никакой реакции вообще. Я хочу, чтобы это условие работало.
В основном я установил функцию ISEVEN для соседних столбцов (C51 и C52), которая в соответствии с D51 и D52 возвращает TRUE или FALSE. Я хотел бы использовать это значение в своем заявлении IF. Я не понимаю, почему это не работает? Должен ли я написать код VBA для нечетных и четных значений?