Excel 如果范围单元格包含任何数字或空白单元格,则

Excel 如果范围单元格包含任何数字或空白单元格,则,excel,vba,Excel,Vba,我试图创建一个VBA项目,比如,但是我很难使用like函数,当我点击run按钮时,似乎什么都没有发生 我想做的事: 如果第一个数字是B4:B245中的数字或空白单元格,则输入范围为D4:245的文本 如果数字的最后一位在C4:C245中为偶数,则输入范围为D4:D245的文本 更多信息: 产品代码是进口的 左函数用于查找“产品代码的第一位” 右函数用于查找“产品代码的数字” 我在和VBA中的当前位置: 子编号() 首先变暗作为范围 设置第一个=范围(“B4:B259”) 将数字变暗为范围

我试图创建一个VBA项目,比如,但是我很难使用like函数,当我点击run按钮时,似乎什么都没有发生

我想做的事

  • 如果第一个数字是B4:B245中的数字或空白单元格,则输入范围为D4:245的文本
  • 如果数字的最后一位在C4:C245中为偶数,则输入范围为D4:D245的文本
更多信息

  • 产品代码是进口的
  • 左函数用于查找“产品代码的第一位”
  • 右函数用于查找“产品代码的数字”
我在和VBA中的当前位置:

子编号()
首先变暗作为范围
设置第一个=范围(“B4:B259”)
将数字变暗为范围
设置数值=范围(“C4:B259”)
Dim D列作为范围
设置DColumn=范围(“D4:D259”)
对于数据列中的每个第一个
如果你先喜欢“”,那么
DColumn=“无效的零件号”
DColumn.Interior.ColorIndex=6
如果结束
下一个
端接头

下面的宏将执行3个测试&每个测试将获得自己的输出

  • 检查第一个字符是否为数字或空白
  • 检查是否有偶数结尾字符
  • 检查是否有奇数结尾字符
  • 这些测试不一致-输出将是一个,或无。一旦test语句为
    TRUE
    ,该单元格的循环将结束,其他值将不被测试

    例如,当上面的#1和#2为真时,此宏将不提供输出。它只会告诉你#1是否为真


    此代码不要求您拆分产品代码。宏将按原样使用它们

    Sub MyNum()
    
    Dim xCell As Range, Product_Code As Range
    Set Product_Code = Sheets("Sheet1").Range("A2:A9") '<-- Update sheet name
    
    For Each xCell In Product_Code
        If IsNumeric(Left(xCell, 1)) Or Left(xCell, 1) = " " Then
            xCell.Offset(0, 1) = "Invalid Product: Char 1 = Numeric or Null"
        ElseIf Right(xCell, Len(xCell) - 1) Mod 2 = 0 Then
            xCell.Offset(0, 1) = "Even Ending Range"
        ElseIf Right(xCell, Len(xCell) - 1) Mod 2 <> 0 Then
            xCell.Offset(0, 1) = "Odd Ending Range"
        End If
    Next xCell
    
    End Sub
    
    Sub MyNum()
    尺寸xCell作为范围,产品代码作为范围
    
    设置Product_Code=Sheets(“Sheet1”)。范围(“A2:A9”)下面的宏将执行3个测试,每个测试都将获得自己的输出

  • 检查第一个字符是否为数字或空白
  • 检查是否有偶数结尾字符
  • 检查是否有奇数结尾字符
  • 这些测试不一致-输出将是一个,或无。一旦test语句为
    TRUE
    ,该单元格的循环将结束,其他值将不被测试

    例如,当上面的#1和#2为真时,此宏将不提供输出。它只会告诉你#1是否为真


    此代码不要求您拆分产品代码。宏将按原样使用它们

    Sub MyNum()
    
    Dim xCell As Range, Product_Code As Range
    Set Product_Code = Sheets("Sheet1").Range("A2:A9") '<-- Update sheet name
    
    For Each xCell In Product_Code
        If IsNumeric(Left(xCell, 1)) Or Left(xCell, 1) = " " Then
            xCell.Offset(0, 1) = "Invalid Product: Char 1 = Numeric or Null"
        ElseIf Right(xCell, Len(xCell) - 1) Mod 2 = 0 Then
            xCell.Offset(0, 1) = "Even Ending Range"
        ElseIf Right(xCell, Len(xCell) - 1) Mod 2 <> 0 Then
            xCell.Offset(0, 1) = "Odd Ending Range"
        End If
    Next xCell
    
    End Sub
    
    Sub MyNum()
    尺寸xCell作为范围,产品代码作为范围
    
    设置Product_Code=Sheets(“Sheet1”)。范围(“A2:A9”)“供您参考,您可以测试所有报表-我认为无论您决定走哪条路线,这里都有足够的内容供您完成项目。祝你好运你可以测试所有的陈述供参考-我认为这里有足够的内容让你完成你的项目,不管你决定走哪条路线。祝你好运