永发信息网

问题是这个只能对C列有用,如果数据在D列,怎么修改代码,谢谢!我试着修改了但是怎么修改都还是在c列。

答案:2  悬赏:10  手机版
解决时间 2021-03-09 18:28
以下代码vba来自网络,谢谢原作者!问题是这个只能对C列有用,如果数据在D列,怎么修改代码,谢谢!我试着修改了但是怎么修改都还是在c列。
Sub Macro1()
Dim arr, dic As Object, arr1, arr2
Columns("c:c").Interior.ColorIndex = xlNone
Set dic = CreateObject("scripting.dictionary")
arr = Range("c2:c" & Range("c65536").End(xlUp).Row)
For i = 1 To UBound(arr)
If Not dic.exists(arr(i, 1)) Then dic.Add arr(i, 1), 1 Else dic(arr(i, 1)) = dic(arr(i, 1)) + 1
Next i
arr1 = dic.keys: arr2 = dic.items
For i = 0 To dic.Count - 1
For j = 1 To UBound(arr)
If arr2(i) > 1 And arr1(i) = arr(j, 1) Then Cells(j + 1, 3).Interior.ColorIndex = i + 3 Mod 56
Next j
Next i
Set dic = Nothing
End Sub
最佳答案
这个还是用Private Sub Worksheet_Change事件
是C列输入*,D就=E,实际上不管你E的值是不是公式引用的,跟这个代码没关系,这是C的事件,与E无关。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim R&
If Target.Row>1 And Target.Column = 3 And Target.Value ="*" Then
R = Target.Row
Cells(R, 4) = Cells(R, 5)
End If
我不明白是的你C列只输入字符*,还是输入任意数据?如果是输入任意数据
Private Sub Worksheet_Change(ByVal Target As Range)
Dim R&
If Target.Row>1 And Target.Column = 3 Then
R = Target.Row
Cells(R, 4) = Cells(R, 5)
End If
End Sub
也可以直接用E的公式
Private Sub Worksheet_Change(ByVal Target As Range)
Dim R&
If Target.Row>1 And Target.Column = 3 Then
R = Target.Row
Cells(R, 4) = Cells(R, 6)-Cells(R,7)
End If
End Sub
全部回答
同问。。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
3的倒数是DA. -3B. 3C. D.
苹果切开为啥不一个颜色核心处成黄色
一品津味利民道店地址有知道的么?有点事想过
【ace抑制剂】ACE抑制剂是什么意思?
用英语怎么称呼男士和女士
花安堂美容会所在什么地方啊,我要过去处理事
锦字配啥字起个属羊的男孩名字好听
【No one would concern or care about you b
请问7.62克黄金卖金店能卖多少钱
交通银行信用卡的钱不小心转到电子现金里了!
堡王小学幼儿园怎么去啊,有知道地址的么
“政启开元,治宏贞观”是后世对唐代一位皇帝
梦见从天花板上掉下很多蛆虫
12星座遇到流氓会有什么反应?
既利用了物质的化学性质,又利用了物质的物理
推荐资讯
广和塑膜怎么去啊,有知道地址的么
乌拉特前旗农村商业银行朝阳支行地址在什么地
神武2 少主天宫暴力还是功耐好
请问苏州哪儿有相宜本草专柜啊?
【感动的一件事作文】深受感动的一件事作文
太子妃升职记张竼竼的精辟现代话语都是什么?
【鼬佐】这一张图出自火影第几集?
什么是生命观
我爸妈离婚协议书上写等我到18岁把房子过户给
电吉他直接插音箱话筒插口行吗
吉安县合力泰怎么走
以前的近义词
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?