首页 > 解决方案 > VBA Excel if 奇偶值语句

问题描述

我想在 VBA Excel 中为奇偶值设置 IF 语句。

这是一个想法,我在这里查询后得到的:

使用命令按钮时,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

没有错误,但完全没有反应。我想让这个条件工作。 在此处输入图像描述

基本上我为相邻列(C51 和 C52)设置ISEVEN函数,它与 D51 和 D52 相关,返回 TRUE 或 FALSE。我想在我的 IF 语句中使用这个值。我不明白为什么它不起作用?我应该为奇偶值编写 VBA 代码吗?

标签: excelvba

解决方案


这是False

If Even.Value = "TRUE" Then
If Odd.Value = "FALSE" Then

True

If Even.Value = True Then
If Odd.Value = False Then

简单:

If Even.Value Then
If Not Odd.Value Then

您正在尝试将 aBoolean与 a进行比较String


推荐阅读