Excel VBA复印件&;粘贴多行的相邻列
我编写了一个简单的宏来复制和粘贴两个相邻列中的一行,然后添加app.ontime来自动运行复制和粘贴宏。我有多行数据要应用宏。有什么想法吗Excel VBA复印件&;粘贴多行的相邻列,excel,vba,row,Excel,Vba,Row,我编写了一个简单的宏来复制和粘贴两个相邻列中的一行,然后添加app.ontime来自动运行复制和粘贴宏。我有多行数据要应用宏。有什么想法吗 Public Sub PasteDynamicData() 'runs TestKDdata every Xmin Sheets("MOVINGAVGDATAFromKD").Range("C4").Copy Range("J4").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, operation
Public Sub PasteDynamicData()
'runs TestKDdata every Xmin
Sheets("MOVINGAVGDATAFromKD").Range("C4").Copy
Range("J4").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("MOVINGAVGDATAFromKD").Range("I4:j4").Insert _
shift:=xlDown
Sheets("MOVINGAVGDATAFromKD").Range("D4").Copy
Range("m4").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Sheets("MOVINGAVGDATAFromKD").Range("L4:M4").Insert _
shift:=xlDown
Sheets("MOVINGAVGDATAFromKD").Range("i87:m87").ClearContents
End Sub
Public Sub UpdateDataClock()
'Clock that prompts running of PasteDynamicData
Sheets("MOVINGAVGDATAFromKD").Select
Call PasteDynamicData
Nexttick = Now + TimeValue("00:00:30")
Application.OnTime Nexttick, "updatedataclock"
If Time >= TimeValue("16:00:00") Then
Application.OnTime Nexttick, "updatedataclock", , False
End If
End Sub
(I declared "nexttick as date" in the module).
你能解释一下到底是什么问题吗?您希望修复或改进什么?有些东西不起作用了吗 无论如何,请尝试以下操作:
Public Sub PasteDynamicData()
Dim xlMovingSheet As Worksheet
Set xlMovingSheet = ActiveWorkbook.Worksheets("MOVINGAVGDATAFromKD")
xlMovingSheet.Range("C4").Copy
xlMovingSheet.Range("J4").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
xlMovingSheet.Range("I4:j4").Insert _
shift:=xlDown
xlMovingSheet.Range("D4").Copy
xlMovingSheet.Range("m4").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
xlMovingSheet.Range("L4:M4").Insert _
shift:=xlDown
xlMovingSheet.Range("i87:m87").ClearContents
Call UpdateDataClock
End Sub
对于更新部分,设置您想要的任何时间增量。现在它设置为每30秒运行一次CDATA
Public Sub UpdateDataClock()
Application.OnTime Now() + TimeValue("00:00:30"), "PasteDynamicData"
If Time >= TimeValue("16:00:00") Then
Application.OnTime EarliestTime:=Now() + TimeValue("00:00:30"), Procedure:="PasteDynamicData", Schedule:=False
End If
End Sub
嘿,Rwisch45我是一个Vba'r新手,所以我分步骤编写代码。当我开始编写代码时,我只将其应用于一组数据&现在我已进入宏的最后一步;尝试扩展代码以应用于20+行(数据点)的可变大小范围。