请高手解释一下这段VBA代码

Private Sub Worksheet_Change(ByVal Target As Range)
Dim a
With Target
If .Address = "$C$3" Then
If Range("C99999").End(xlUp).Row = 1 And Cells(1, 3) = "" Then
Range("c102") = .Value
Else
Cells(Range("C99999").End(xlUp).Row + 1, 3) = .Value
End If
End If
End With
End Sub
然后这是控制一个单元的,我想在这个表格里在给另一个单元格添加这个代码怎么做?复制这个代码然后改数据好像用不了

如果C 列 最后 一个 有数据单元格 =1 且C1 为空, 则C102 = C3
否则 C 列 最后 一行 的下一行 =C3
要添加 另外一个 单元格(假设D3) 直接 If .Address = "$C$3" 改成
If .Address = "$C$3" or .Address ="$D$3"追问

后面的怎么填啊? 我想在D3单元格的数据在D列出现而不是在C列

追答

Cells(Range("C99999").End(xlUp).Row + 1, target.column) = .Value

追问

我是要单独再给另外一个单元格加这个效果

追答

With Target
If .Address = "$C$3" or .Address = "$D$3" Then
If cells(99999, target.column).End(xlUp).Row = 1 And Cells(1, target.column ) = "" Then
cells(102, target.column) = .Value
Else
Cells(99999,target. column). end (xlup).offset(1,0) = .Value
End If
End If
End With

追问

你的这个运行出错。
不过我自己试出来怎么用了~

这个是我最后要的结果

追答

你自己 抄都抄错,我写的 99999 ,不是 C99999

追问

我又把你的代码重新做了一遍,确实是我抄错了,代码正确,比我之前弄得简洁多了!
这个代码还是没能实现我所需要的效果,还请大神帮我再改改,
就是之前代码中$C$3或$D$3单元格的内容主动去填入任意数字可以实现以上代码的效果
但是我不是主动去填的,我是这两个单元格自动更新网络上的数据,发现这两个单元格数据更新后,并没有在下面记录新的数据,需要怎么改才能记录数据?

追答

没空理你, 理你浪费时间还不得好报
要做 收费处理

追问

答案采纳了,金币也给你了,怎么就变成不得好报了?你这人真心狭隘!
如果有人按照你给的代码复制过去 百分百运行出错,错在哪你自己清楚
还收费处理 真逗

追答

早就觉得,你这种人 就是这样的,即使做了 也不会有 真心的感谢,觉得理所当然,乞丐一样的,百度上你这样的见多了 就一看就 知道了,难怪 没人 回答你的问题

追问

你还不是看到有50个金币才来回答的,没金币你会来回答?动不动就开口要收费~这里本来就是免费自由问答的,想要赚钱去别处,想钱想疯了~看你回答问题的方式就知道你的目的了,故意把代码弄错,然后好收费

追答

你以为你那 50金币 是 50 金币啊, 能当饭吃,
老子 送你 5万 都可以 ,真是病的不轻,我来答题就是看心情的, 有空有心情 就 来玩玩,有一年多没来百度答题 ,看来 百度垃圾人还是 太多,还真拿金币当金币呢,秀逗的不行。
伸手党 滚, 乞丐 就不该被施舍, 可怜之人必有可恨之处

追问

哈哈,气急败坏了么?一年多没答过题么?当我看看不到你的答题记录?动不动就要收费!百度知道就是多了你这类垃圾人,所以才搞坏了百度知道原本的无利益知识交流的初衷!垃圾

追答

收费 是正常的 ,不收费就不正常,因为你这样的乞丐 人多了 ,造成的 收费,
就像乞丐多了 给钱的人多了,后来 骗子也装乞丐一样,你就是那种 伸手党的
以前乞丐也是 有廉耻的, 现在的乞丐 骗子居多,就像你一样
想当初 哥也是 个 不收费的人, 被你们 这群 垃圾 人 推向 收费的, 懂
===========
把别人 的施舍 当成 理所当然 , 就叫做 无耻

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答