楚河之界 2022-11-17 09:55 采纳率: 100%
浏览 11
已结题

vba处理Excel数据问题

vba处理Excel数据问题

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

img

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2022-11-17 10:08
    关注
    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
            If r = False Then
              For k = i To j
                Range("A" & k & ":B" & k).Interior.Color = vbYellow
              Next
            End If
            'Sheets(1).Cells(j, "C") = r
            i = j
         End If
       Next
     
    End Sub
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月30日
  • 已采纳回答 11月22日
  • 创建了问题 11月17日

悬赏问题

  • ¥15 对于这个复杂问题的解释说明
  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败