Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 即使数据没有变化,也要记录这些值_Excel_Vba - Fatal编程技术网

Excel 即使数据没有变化,也要记录这些值

Excel 即使数据没有变化,也要记录这些值,excel,vba,Excel,Vba,我的工作表每3分钟刷新一次,并从网站获取数据,此代码每3分钟记录一次数据,即使“o1:v1”范围内的值没有变化。但我希望它只在这个范围内至少有一个单元格发生变化时记录。请帮忙 Private Sub Worksheet_Calculate() With Worksheets("record") .Cells(.Cells(.Rows.Count, "A").End(xlUp).Row + 1, "B").Resi

我的工作表每3分钟刷新一次,并从网站获取数据,此代码每3分钟记录一次数据,即使“o1:v1”范围内的值没有变化。但我希望它只在这个范围内至少有一个单元格发生变化时记录。请帮忙

Private Sub Worksheet_Calculate()

    With Worksheets("record")
       .Cells(.Cells(.Rows.Count, "A").End(xlUp).Row + 1, "B").Resize(, 8).Value = Worksheets("record").Range("O1:V1").Value
       .Cells(.Cells(.Rows.Count, "A").End(xlUp).Row + 1, "A").Value = Now()
    End With

End Sub
记录数据更改(
工作表\u计算
选项显式
专用子工作表_Calculate()
'范围:源和上一个目标
变光srg As范围、drg As范围
长帐
带工作表(“记录”)
设置srg=.Range(“O1:V1”)
cCount=srg.Columns.Count
设置drg=.Cells(.Cells.Rows.Count,“A”)_
.End(xlUp).行,“B”).调整大小(,Account)
以
'阵列
尺寸sData作为变量:sData=srg.值
尺寸dData作为变量:dData=图纸值
“比较
尺寸c与长度相同
对于c=1的情况,应计算
如果sData(1,c)dData(1,c),则
退出
如果结束
下一个c
如果c>cCount,则退出Sub“无更改”
“新目的地
设置drg=drg.Offset(1):drg.Value=sData
drg.Resize(,1).Offset(,-1).Value=Now
端接头

您是否尝试过使用
工作表\u Change
事件?是的,工作表更改事件不读取范围内的值,因为它包含公式。非常感谢,先生,它工作正常