在button上单击更改单元格

点击我的Excel工作表中的button,我想知道已更改的单元格。

我已经写了一个macros来将更改后的值POST到一个将返回值的API。 我不想在VBA中做这个计算,因为它不能满足我的其他应用程序的要求。

我目前的function到目前为止,

 Sub MyChangeSub() 'Get value/s and name of cell/s that has/have changed Dim query, request As String, result As String request = "{ ""cell"":""" & cell_name & """, ""value"":""" & value & """ }" Dim xmlHttp As Object Set xmlHttp = CreateObject("MSXML2.ServerXMLHTTP") xmlHttp.Open "POST", URL, False xmlHttp.setRequestHeader "Content-Type", "application/json" xmlHttp.send (request) result = xmlHttp.responseText Set xmlHttp = Nothing ' Doing something with the result and update the values End Sub 

我如何获得已更改的任何单元格的值? 现在,我想将更改应用于一个已更改的单元格。 后来我可以修改它来获取多个更改的单元格的值。

创build一个全球范围。 每当你改变一些东西时,把这个范围加到你的全球范围内。 单击时,突出显示全局范围内的所有单元格。

 Public ChangeRng as Range Private Sub Worksheet_Change(ByVal Target as Range) If ChangeRng Is Nothing Then Set ChangeRng = Target Else Set ChangeRng = Application.Union(ChangeRng, Target) End If End Sub Private Sub CommandButton1_Click() Dim cel as Range For Each cel in ChangeRng cel.Interior.Color = RGB(255,0,0) Next cel Set ChangeRng = Nothing End Sub