xjf101 2022-09-15 12:48 采纳率: 66.7%
浏览 32
已结题

关于#vba#进行判断的问题

img

想要用vba实现在一列数值中将第一个小于0的数值和最后一个大于0的值看作一个区间,并判断当这个区间的存在的名称不一致时,将区间标记为黄色(图中标记绿色是为了区分每个区间,判断完区间最后一个正数后,当下一次出现负数再重新判断)

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2022-09-15 14:10
    关注

    示例如下

    Sub setCellCValue()
       rownum = ThisWorkbook.Sheets(1).Range("A65536").End(xlUp).row
       For i = 2 To rownum '遍历数据行
         If Sheets(1).Cells(i, "B") < 0 Then
            r = True
            lasta = Sheets(1).Cells(i, "A")
            For j = i + 1 To rownum '找最后一个正值
              cella = Sheets(1).Cells(j, "A")
              If cella <> lasta Then
                r = False
              End If
              If Sheets(1).Cells(j, "B") > 0 And Sheets(1).Cells(j + 1, "B") < 0 Then
                Exit For
              End If
              lasta = cella
            Next
            If j > rownum Then j = rownum
            Sheets(1).Cells(j, "C") = r
            i = j
         End If
       Next
     
    End Sub
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 9月22日
  • 已采纳回答 9月15日
  • 修改了问题 9月15日
  • 创建了问题 9月15日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部