Excel精英培训网

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

[已解决]帮忙修改下,在线等Target.Entirerow.Interior.Color = vbRed

[复制链接]
发表于 2013-10-9 15:32 | 显示全部楼层 |阅读模式
Target.Entirerow.Interior.Color = vbRed

这句的意思是让选中单元格所在的整行变成红色,
我现在要求改成:不是整行变色,而是选中单元格所在行的第1列至第10列
变成红色,该怎么改代码?
需要满足:连续或不连续选中单元格的情况

谢谢各位了


最佳答案
2013-10-9 15:42
ranrise 发表于 2013-10-9 15:39
谢谢,如此之快,但有个问题,这代码只适合单行。选中的如果是连续多行或不连续多行都不行啊
  1. For Each c In Target.Cells
  2. Cells(c.Row, 1).Resize(1, 10).Interior.Color = vbRed
  3. Next
复制代码
发表于 2013-10-9 15:36 | 显示全部楼层
  1. Cells(Target.Row, 1).Resize(1, 10).Interior.Color = vbRed
复制代码
回复

使用道具 举报

 楼主| 发表于 2013-10-9 15:39 | 显示全部楼层
美斯特邦威 发表于 2013-10-9 15:36

谢谢,如此之快,但有个问题,这代码只适合单行。选中的如果是连续多行或不连续多行都不行啊

回复

使用道具 举报

发表于 2013-10-9 15:40 | 显示全部楼层
好象楼上还要改以适合楼主的“需要满足:连续或不连续选中单元格的情况”
回复

使用道具 举报

发表于 2013-10-9 15:42 | 显示全部楼层    本楼为最佳答案   
ranrise 发表于 2013-10-9 15:39
谢谢,如此之快,但有个问题,这代码只适合单行。选中的如果是连续多行或不连续多行都不行啊
  1. For Each c In Target.Cells
  2. Cells(c.Row, 1).Resize(1, 10).Interior.Color = vbRed
  3. Next
复制代码
回复

使用道具 举报

 楼主| 发表于 2013-10-9 15:42 | 显示全部楼层
上清宫主 发表于 2013-10-9 15:40
好象楼上还要改以适合楼主的“需要满足:连续或不连续选中单元格的情况”

对头,就是这个意思,恳请大侠帮助~~~~
回复

使用道具 举报

发表于 2013-10-9 16:42 | 显示全部楼层
初学者,复制代码玩了下,target.rom直接改成数字,挺好玩
回复

使用道具 举报

发表于 2013-10-9 17:03 | 显示全部楼层
试试看这样行不行呢?
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2. Intersect(Columns("A:J"), Target.EntireRow).Interior.Color = vbRed
  3. End Sub
复制代码
回复

使用道具 举报

发表于 2013-10-9 17:06 | 显示全部楼层
suye1010 发表于 2013-10-9 17:03
试试看这样行不行呢?

必须行,而且还避免了当选择整列时用了循环太慢引起的"死机"
回复

使用道具 举报

 楼主| 发表于 2013-10-10 11:19 | 显示全部楼层
suye1010 发表于 2013-10-9 17:03
试试看这样行不行呢?

这个应该更简洁些,没有用循环语句
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-4 10:03 , Processed in 0.520857 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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