这是我的第一篇文章。如果我在这里做错了,请原谅我。我很乐意纠正任何错误。我发现这个网站非常有价值,因为我是vba领域的婴儿。请耐心等待。
我是VBA的超级新秀。我正在学习,但是花了很多时间在这上面。我在网上找到了一些信息,但却无法将它们放在一起。我已经学会了如何制作一个vba宏,我可以选择一个文件,然后运行其他宏。 我正在使用Excel 2013。 我每个星期(有时候在月底更多)完成工作时间和我工作的项目的时间表。当我出去的时候,我还在那张表格中加入了一个代码。我想将三个部分复制到摘要表中。
我想复制这些数据,以便我可以计算休假日,病假等。 我知道我要求很多,但非常感谢任何帮助。
答案 0 :(得分:0)
我给你这个例子,你仍然需要修改......
Option Explicit 'forces Programmer to declare variables
Sub Button_To_Copy () 'link this to a button or other action that launchs the sub
Dim Range_to_Copy as Range
Dim Range_Destination as Range
Dim Sheet_Data as worksheet 'sheet from where we pull the data
Dim Sheet_Destination as Worksheet' Summary Sheet
set Sheet_Data = Thisworkbook.Sheets("Sheet1") 'you might have to rename the sheetname accordingly to its name.
set Sheet_Destination = Thisworkbook.sheets("Summary") ' wild guess, correct to your summary sheet name
Set Range_to_Copy = Sheet_Data.Range("D1")
Set Range_Destination = Sheet_Destination.range("A1")
Range_to_Copy.Copy Range_Destination 'this copies from range A to B (basically A.copy B), but i changed variable names to make it easier...
'more code, copies
'you can simplify without variables like this:
'Sheets("Sheet1").Range("D1").Copy Sheets("Summary).Range("A1") <===== does the same as the above coding
End Sub
请注意,我从未使用过激活或选择,因为宏录音机会一直使用不当,会给初学者带来不良习惯。
此外,通过引用像“D1”这样的硬单元位置,代码不是动态的,如果添加更多数据,则必须更改sub,所以使用它作为开始可能