Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2674|回复: 8

[已解决]请教,如何根据现有格式,增加J列与K列数据相同时颜色自动改变为红色,对已改变的...

[复制链接]
发表于 2012-8-19 16:12 | 显示全部楼层 |阅读模式
请教,如何根据现有格式,增加J列与K列数据相同时颜色自动改变为红色,对已改变的项能够自动向上移动到已改变颜色排列, 请教,如何根据现有格式,增加J列与K列数据相同时颜色自动改变为红色,对已改变的项能.rar (5.5 KB, 下载次数: 27)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-8-19 17:13 | 显示全部楼层
J列与K列数据相同时颜色自动改变为红色    这句可以理解;后半句就理解不了了。
回复

使用道具 举报

 楼主| 发表于 2012-8-19 20:17 | 显示全部楼层
蓝桥玄霜 发表于 2012-8-19 17:13
J列与K列数据相同时颜色自动改变为红色    这句可以理解;后半句就理解不了了。

意思是想把变为绿色的项自动移动集中在顶端,谢谢!
回复

使用道具 举报

发表于 2012-8-19 22:26 | 显示全部楼层

  1. Sub xiugai()
  2.     Dim i, x, y As Integer
  3.     Dim a, b
  4.     With Sheets("sheet1")
  5.         x = 2
  6.         For i = 3 To .[j65536].End(xlUp).Row
  7.             If .Cells(i, "j").Value = .Cells(i, "k").Value And .Cells(i, "j") <> "" Then
  8.                 x = x + 1
  9.                 .Range(.Cells(i, "j"), .Cells(i, "k")).Font.Color = -16776961
  10.                  a = .Cells(x, "j")
  11.                  b = .Cells(x, "k")
  12.                 .Range(.Cells(i, "j"), .Cells(i, "k")).Copy (.Range(.Cells(x, "j"), .Cells(x, "k")))
  13.                 If i <> 3 Then
  14.                     .Range(.Cells(i, "j"), .Cells(i, "k")).Font.Color = xlThemeColorLight1
  15.                 End If
  16.                 .Cells(i, "j") = a
  17.                 .Cells(i, "k") = b
  18.             End If
  19.         Next
  20.     End With

  21. End Sub
复制代码
回复

使用道具 举报

发表于 2012-8-19 22:27 | 显示全部楼层
我的理解是将变为红色的移到顶部,不知道是不是这个意思。
回复

使用道具 举报

 楼主| 发表于 2012-8-19 22:54 | 显示全部楼层
银鱼 发表于 2012-8-19 22:26

没有表达清楚,
我想把经有改动变为绿色项自动上移,谢谢!
回复

使用道具 举报

发表于 2012-8-19 23:04 | 显示全部楼层
macarons 发表于 2012-8-19 22:54
没有表达清楚,
我想把经有改动变为绿色项自动上移,谢谢!

是把有变化的自动上移啦。
回复

使用道具 举报

发表于 2012-8-19 23:05 | 显示全部楼层
最好有一个模拟结果
回复

使用道具 举报

发表于 2012-8-19 23:15 | 显示全部楼层    本楼为最佳答案   

  1. Sub xiugai()
  2.     Dim i, x, y As Integer
  3.     Dim a, b
  4.     With Sheets("sheet1")
  5.         x = 1
  6.         For i = 3 To .[j65536].End(xlUp).Row
  7.             If .Cells(i, "j").Value = .Cells(i, "k").Value And .Cells(i, "j") <> "" Then
  8.                 x = x + 1
  9.                 .Range(.Cells(i, "j"), .Cells(i, "k")).Font.Color = -16776961
  10.                  a = .Cells(x, "j")
  11.                  b = .Cells(x, "k")
  12.                 .Range(.Cells(i, "j"), .Cells(i, "k")).Copy (.Range(.Cells(x, "j"), .Cells(x, "k")))
  13.                 If i <> 3 Then
  14.                     .Range(.Cells(i, "j"), .Cells(i, "k")).Font.Color = xlThemeColorLight1
  15.                 End If
  16.                 .Cells(i, "j") = a
  17.                 .Cells(i, "k") = b
  18.             End If
  19.         Next
  20.     End With
  21. End Sub
复制代码
看看行不行吧,不行就明天再看了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-30 02:15 , Processed in 0.260325 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表