|
最近因为工作需要,要处理大量数据,为了加快工作效率,编制了部分宏,但是有的数据只需要修改一部分,这就很头痛,我编制了下面一个宏
Attribute VB_Name = \"改图用宏\"
Sub COPY()
Attribute COPY.VB_Description = \"自动拷贝系数,计算覆盖新值,清除其它多于项。快捷键:Ctrl+Shift+Q\"
Attribute COPY.VB_ProcData.VB_Invoke_Func = \"Q\\n14\"
'
' COPY Macro
' 自动拷贝系数,计算覆盖新值,清除其它多于项。快捷键:Ctrl+Shift+Q
'
' 快捷键: Ctrl+Shift+Q
'
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range(\"B14\").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = \"=ROUND(RC[-1]*R14C3,0)\"
Range(\"B14\").Select
Selection.AutoFill Destination:=Range(\"B14:B20000\")
Range(\"B14:B20000\").Select
Selection.COPY
Range(\"A14:A20000\").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range(\"B14:C20000\").Select
Selection.ClearContents
End Sub
执行流程就是拷贝剪切板中的数值,然后复制到B14,进行求整运算,填充B14~B20000,然后拷贝B14~B20000,复制到A14~A20000,最后清除B14~B20000。
现在的问题是,很多数据只需要修改中间的几段,如果选择B14~B20000这样的就会修改所有的,有没有办法引入两个变量,比如Bm~Bn,这样就可以处理任意段了。
因为对VB不太了解,还请高手指点一下,拜谢! |
|