VBA-从关闭的文件粘贴复制到汇总表上的下一个可用行
这是我的第一篇文章。如果我做错了什么,请原谅我。我很乐意改正任何错误。我发现这个网站非常有价值,因为我是vba领域的一个婴儿。请对我有耐心 我是VBA的超级新手。我边学习边学习,但在这方面花了很多时间。我在网上找到一些零碎的信息,但很难把它们放在一起。我已经学习了如何制作一个vba宏,我可以选择一个文件,然后运行其他宏。 我正在使用Excel 2013。 我每周(有时在月底)完成一份工作时间表,记录我的工作时间和我的项目。当我外出时,我也会在那张纸上写上原因代码。我想将三个部分复制到摘要页上VBA-从关闭的文件粘贴复制到汇总表上的下一个可用行,vba,excel,Vba,Excel,这是我的第一篇文章。如果我做错了什么,请原谅我。我很乐意改正任何错误。我发现这个网站非常有价值,因为我是vba领域的一个婴儿。请对我有耐心 我是VBA的超级新手。我边学习边学习,但在这方面花了很多时间。我在网上找到一些零碎的信息,但很难把它们放在一起。我已经学习了如何制作一个vba宏,我可以选择一个文件,然后运行其他宏。 我正在使用Excel 2013。 我每周(有时在月底)完成一份工作时间表,记录我的工作时间和我的项目。当我外出时,我也会在那张纸上写上原因代码。我想将三个部分复制到摘要页上 D
我知道我有很多要求,但如果有任何帮助,我将不胜感激。我给你举个例子,你仍然需要修改
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
optionexplicit'强制程序员声明变量
Sub Button_To_Copy()'将此链接链接到启动Sub的按钮或其他操作
变暗范围\u到\u复制为范围
变暗范围\目标作为范围
将工作表\u数据作为工作表,从中提取数据
尺寸表\u目的地为工作表的汇总表
set Sheet_Data=thiswook.Sheets(“Sheet1”)“您可能必须相应地将sheetname重命名为其名称。
设置Sheet_Destination=Thisworkbook.sheets(“Summary”)'通配符,更正为您的摘要工作表名称
将范围设置为复制=图纸数据范围(“D1”)
设置范围\目的地=图纸\目的地。范围(“A1”)
Range_to_Copy.Copy Range_Destination'这将从范围A复制到范围B(基本上是A.Copy B),但我更改了变量名以使其更简单。。。
“更多代码,副本
'您可以不使用以下变量进行简化:
“工作表(“工作表1”)。范围(“D1”)。复印工作表(“摘要”)。范围(“A1”)录制一个宏,执行每个步骤。Excel将为您编写代码,这为您提供了一个开始的位置。谢谢你,肯。我已经尝试过了,它确实很有帮助。不断遇到问题。如果你已经尝试过,你应该有代码可以发布,表明你的努力,然后你可以解释“问题”“您遇到了这个问题,并提出了一个具体的问题,我们可以帮助您解决。我不知道如何录制宏并打开“选择文件”框,这是我正在尝试做的一件事。此外,我不知道如何录制宏以从我刚刚打开的文件的最后一行获取数据。我很抱歉不知道这些事情。然后问一个关于如何打开文件对话框的新问题(在单独的帖子中)。获取最后一行数据将与往常一样,无论文件是已经打开还是您刚刚打开,这里有几十个以前的问题提供了这些信息。我有前3个部分要做,但无法让最后一个部分复制F列到L列中的最后一个单元格,例如,F列中的最后一个单元格:set Range\u last\u F=sheet\u Data.cells(sheet\u Data.cells(sheet\u Data.rows.count,“F”).end(xlup).row,“F”)
。我想如果你知道如何得到单元格,你现在可以得到它的值,并复制它。(“F”也可以用6替换,不带引号),因此可以通过将“F”替换为6到12的整数或长变量,从F列循环到L列。