EXCEL如何用VBA设置符合条件的单元格填充颜色为红色?

左边1部分的是用来被比较的数据,右边2是比较1的数据。比如右边1列的C行,也就是N6是“2”,它和左边1列的C行,也就是B6相同,用VBA设置N6填充颜色为红色。大概就是... 左边1部分的是用来被比较的数据,右边2是比较1的数据。
比如右边1列的C行,也就是N6是“2”,它和左边1列的C行,也就是B6相同,用VBA设置N6填充颜色为红色。
大概就是这样,右边的数据不一定会像这样排列整齐的,就是说我可能想要用T列的数据来比较B列这样,所以希望代码加上注释,我希望能自己修改一下。。

要用VBA哦,,公式我知道怎么做。。。我只要VBA,因为VBA我不知道怎么做。

求大神帮忙,,非常感谢!
文件我传到百度云了,,希望大神帮帮忙,,

http://pan.baidu.com/s/1o6uxMzC

非常感谢!
展开
 我来答
刀剑上的舞者
高粉答主

2019-04-19 · 你要在大时代中做个坚强的小人物,在狂欢夜
刀剑上的舞者
采纳数:6 获赞数:87653

向TA提问 私信TA
展开全部

材料/工具:Excel2010

1、打开Excel表格,按下【Alt+F11】组合快捷键打开VBA编辑器,也可以点击菜单栏上面的【开发工具】,【Visual Basic】打开VBA编辑器。

2、点击VBA编辑器菜单栏上面的【插入】、【模块】,也可以在编辑器上面使用【Alt+I+M】组合快捷键插入“模块”。

3、在VBA编辑器代码框里面输入以下代码:

4、在Excel表格上面的【开始】、【填充颜色】、【其他颜色】,在”颜色“对话框的【自定义】里面就可以找到,改变数值就可以看到新增的颜色。

5、在VBA编辑器的工具栏里面点击“运行”图标即可运行程序,条件满足的行将会自动填充所设置的颜色。

6、VBA自动填充满足条件的行的颜色完成。

中载0e6
推荐于2017-09-24 · TA获得超过702个赞
知道小有建树答主
回答量:628
采纳率:25%
帮助的人:266万
展开全部
 Public C   '定义全局变量C

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
    Dim one, c1%
If Target.Column > 1 And Target.Column < 12 Then C = Target.Column '如果第一次选中的单元格在B-K列之间,则记录此时列号
If C = 0 Then Exit Sub
c1 = Target.Column
If c1 > 13 Then
        For one = 4 To 12 '因为你的数据在第4行到第12行之间
         If Cells(one, c1) = Cells(one, C) Then '比较两列的数据
            Cells(one, c1).Interior.ColorIndex = 3 '涂颜色
         End If
        Next    '比较下一个
        C = 0 '清空C
End If
End Sub

用法: 代码粘贴在表1的代码页中
  1、在数据1中要比较的那列随便选一个单格    
 2、在数据2中要比较的那列随便选一个单格

 

追问
你这个代码好像有点局限性。。。能不能再做一个只比较N列和B列的?真是麻烦了。。非常感谢
追答

只比较N列和B列的话,更简单了,加一个按钮,代码如下

Sub nb()

        For one = 4 To 12 '因为你的数据在第4行到第12行之间

         If Cells(one, 14) = Cells(one, 2) Then '比较两列的数据

            Cells(one, 14).Interior.ColorIndex = 3 '涂颜色

         End If

        Next    '比较下一个

End Sub

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zzllrr小乐
高粉答主

2015-08-15 · 小乐数学,小乐阅读,小乐图客等软件原作者,“zzllrr小乐...
zzllrr小乐
采纳数:20147 获赞数:78792

向TA提问 私信TA
展开全部
'写了这段代码,你应该能看懂
Sub color_by_zzllrr
    For i=4 To 12
        For j=1 To 10
            IF Cells(i,12+j*2)=Cells(i,j+1) Then
                Cells(i,12+j*2).Font.Color=vbRed
            End IF
        Next j
    Next i
End Sub
追问
唔,这个懂了,,非常感谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
庆年工坊
2015-08-15 · 知道合伙人互联网行家
庆年工坊
知道合伙人互联网行家
采纳数:4233 获赞数:8928

向TA提问 私信TA
展开全部
Sub xx()
  m = ActiveSheet.UsedRange.Item(ActiveSheet.UsedRange.Count).Row
  n = ActiveSheet.UsedRange.Item(ActiveSheet.UsedRange.Count).Column
  For i = 12 To n
    If Cells(1, i) <> "" Then
      For j = 2 To 11
        If Cells(1, j) = Cells(1, i) Then Exit For
      Next
      For k = 2 To m
        If Cells(k, i) <> "" And Cells(k, i) = Cells(k, j) Then Cells(k, i).Interior.ColorIndex = 3
      Next
    End If
  Next
End Sub
更多追问追答
追问
能不能再做一个只比较N列和B列的?谢谢,真是麻烦了
追答
Sub xx()
  n = Cells(4 ^ 8, 2).End(3).Row
  For i = 2 To n
    If Cells(i, 14) <> "" And Cells(i, 14) = Cells(i, 2) Then Cells(i, 14).Interior.ColorIndex = 3
  Next
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mjbardag
2015-08-15 · TA获得超过713个赞
知道小有建树答主
回答量:883
采纳率:0%
帮助的人:298万
展开全部
我做了一个,没办法发给你
追问
可以传上来吗?或者传网盘发链接?
追答
您加下俺的裙  叄贰伍肆零叄扒叄零  我把文件发给您。
他们好像都没有考虑您说的T列和B列对应的问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式