【发布时间】:2018-03-09 12:45:43
【问题描述】:
我编写了代码来从特定页面的 URL 中提取数据。
第一次运行代码时,它会从 URL 中提取数据到单元格 C1。
我想在单元格值更改时显示MsgBox。
例如:
我第一次运行代码时,
"Happy"被提取到单元格 C1。
(单元格值变了,所以msgbox“值变了”)第二次运行代码时,
"Happy"也被提取到单元格 C1。
(表示没有变化,注意发生)第三次运行代码,
"Sad"被提取到单元格 C1,
所以在这一点上,我想要一个单元格更改的 msgbox。
我尝试了下面的代码,但即使在单元格中更改了相同的值,它也会显示 msgbox。
例如 - 单元格包含文本 "Happy"。我在单元格中重写"Happy" 并按回车键,因此尽管单元格中的文本相同,但它显示单元格的 msgbox 已更改。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
' The variable KeyCells contains the cells that will
' cause an alert when they are changed.
Set KeyCells = Range("A1:C10")
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
' Display a message when one of the designated cells has been
' changed.
' Place your code here.
MsgBox "Cell " & Target.Address & " has changed."
End If
End Sub
【问题讨论】:
-
你的问题不是很清楚。当指定范围内的单元格发生变化时,您希望发生一些事情,对吗?应该怎么办?
-
@ashleedawg 你说得对。如果单元格值发生变化,我想调用一个宏。假设我将单元格 B1 的值更改为“Happy”,它应该运行宏。那么如果我再次将 B1 的值更改为“快乐”,它不应该做任何事情。
-
哦 - 如果单元格更改为“相同的值”,则不显示消息...快乐 -> 就 Excel 而言,快乐仍然是一个变化,但有办法解决这个问题...等一下。
-
Ahkil - 希望你不要介意,我把你的问题标题写得更清楚了