我编写了这段我在使用excel宏上找到的简单代码。
Private Sub Macro3(ByVal Target As Range)
If Not Intersect(Target, Range("A2:A2")) Is Nothing Then
Application.EnableEvents = False
Range("A3:A31").Value = Range("A2:A30").Value
Application.EnableEvents = True
End If
End Sub但是在创建之后,我找不到宏,也无法通过VBA编辑器运行它。请帮帮我。我正在使用ms office 2010
编辑
我真正想要实现的。
我的工作表的A1单元格中有一个不断变化的值。一旦它改变,我希望它被复制到A2,A2值复制到A3,等等.
发布于 2013-09-03 10:07:49
还可以通过实现以下宏来尝试
Sub Macro()
Dim n As Integer
n = 1
Do
Application.EnableEvents = False
Range("A2").EntireRow.Insert
Range("A2").Value = Range("A1").Value
Application.Wait Now + TimeValue("0:00:10")
Application.EnableEvents = True
Loop Until n != 1
End Sub现在应该能够在一个周期性的时间间隔存储数据列虎钳。
发布于 2013-08-26 07:37:09
正如视频在01:00解释的那样,
Private Sub Worksheet_Change(ByVal Target As Range)所示。您可以手动键入代码,也可以从代码窗口上方的选择框中选择“工作表”和“更改”。当您选择" worksheet“(包括Selection_Change)时,删除"Sub End Sub”Sub最终会自动创建,这将确保每次工作表中的(=any)单元格发生更改时都会触发宏。If Not Intersect(...)关心的是,代码的其余部分只处理某个单元格的更改。Private Sub ... -使用Debug/Toggle断点或{F9} -则可以使用{F8}逐步遍历代码并观看编辑:
在谷歌搜索之后. =RTD()不会触发宏的改变(这让很多人失望)--所以需要不同的策略。
=RTD()不时获取数据(时间间隔X),并将其放入与当前A2不同的单元格C中。您可以创建一个代码块来执行每一个X/2并检查C <> A2 .如果是,请将C移动到A2并向下复制旧值。
示例:
创建一个模块"TimerFunctions“并添加以下代码
Public IsTimer As Boolean
Sub TimerSet(IntervalSec As Date, TimerProcName As String)
If IsTimer Then Application.OnTime Now() + IntervalSec, TimerProcName, , True
End Sub
Sub TimerAction()
' look for new value ... e.g. compare RTD cell [A1] with last stored value [A2]
If [A2] <> [A1] Then
' your original code - move whole stack one down
Range("A3:A31").Value = Range("A2:A30").Value
' copy new value on top of stack
[A2] = [A1]
End If
' do it again in 2 seconds
TimerSet TimeValue("00:00:02"), "TimerAction"
End SubSheet1
Private Sub Worksheet_Activate()
IsTimer = True
TimerSet TimeValue("00:00:02"), "TimerAction"
End Sub
Private Sub Worksheet_Deactivate()
IsTimer = False
End Sub现在,每2秒检查一次RTD函数以获得一个新值,如果发现该值,则将该值保存在堆栈的顶部,而30的其余部分则向下推1。只要你还在纸上,这个就能工作。如果您更改为Sheet2 (=禁用Sheet1),此机制将停止,直到您回到Sheet1 (= activate )。
如果这个定时的事情应该一直运行,你必须在寻址你的细胞上付出更多的努力,这样即使酸化片是另一个,这一切也是有效的。
https://stackoverflow.com/questions/18405912
复制相似问题