我是VBA的初学者,所以任何一种提示都可能对我有所帮助。
我在同一个工作簿中有两个工作表,即sheet1(" rawdata")和sheet2("概述)。
每天早上,我都会将下载的数据复制到sheet1(" rawdata")。这里行数不尽相同,但标题/列始终相同。在此之后,我需要将特定单元格复制到另一个工作表中。以下是"规则"我在考虑:
1。)我想始终将rawdata表格E9,W9,X9和Y9中的单元格复制到目标表格中的特定单元格中
我有类似的东西(有效): 工作表("概述")。范围(" X10")。值=工作表(" rawdata")。范围(" E9")。值
2。)我想总是复制lastrow中E列中的值。但是,最后一行从rawdata变为rawdata,而列(E)始终保持不变。我试过这样的事情:
.... =工作表(" rawdata")。范围(" E1")。结束(xlDown).Value(不工作: - ()
3。)脚本应该链接到按钮,当我再次单击按钮以从工作表原始数据中插入数据时,数据应插入工作表概述的下一(下一)列。
你认为你能帮我解决一些代码或有用的提示吗?
答案 0 :(得分:2)
假设列E始终有数据。在这种情况下应该是真的。
抱歉试图简化并打破它。
LastRow_WithDataInColumnE = Worksheets("rawdata").Range("E" & .Rows.Count).End(xlUp).Row
应该是
With Worksheets("rawdata")
LastRow_WithDataInColumnE = .Range("E" & .Rows.Count).End(xlUp).Row
End With
现在.Rows.Count应该引用工作表(" rawdata")
Worksheets("overview").Range("X10").Value = Worksheets("rawdata").Range("E" & .Rows.Count).End(xlUp).Row.Value
应该是
With Worksheets("rawdata")
Worksheets("overview").Range("X10").Value = .Range("E" & .Rows.Count).End(xlUp).Row.Value
End With
这里有一个讨论Error in finding last used cell in VBA。对于E列中没有数据或已删除行的情况,建议更好的解决方案。
答案 1 :(得分:0)