我正在尝试按照Velin Georgiev的tutorial自动化Excel报告。
这是一个每日报告,我有一个表格,我将每日更新的数据透视表中的总值添加到一个新单元格(数据透视表和标准表格都在同一工作表上)。
在标准表格中,日期列包含“今天”日期,总计从数据透视表中获取数据。这一桌每天应该增加一行。
到目前为止,它是手动完成的。是否有可能使用VBA以及如何做到这一点?
任何帮助都将不胜感激。
答案 0 :(得分:0)
您的案例似乎是在Excel中应用更广泛的想法 - 达到信息块的最底层。有几种不同的方法(总结为here),每种方法各有利弊。
对你的案件来说最简单的那个可能是.End。我不知道您的工作表的确切结构,但类似于以下
Error: No resource found that matches the given name (at 'value' with value '@integer/google_play_services_version')
将复制你桌子A列倒数第二行的单元格(就在" TOTAL&#34之前; - 如果你有小计,使它成为-2,或其他什么)。
然后,要复制到标准表,请执行类似
的操作Range("A" & Cells(Rows.Count, "A").End(xlUp).Row - 1).Copy
其中" F"是表格的第二列(或者您想要粘贴它的任何地方)。
答案 1 :(得分:0)
这就是我解决问题的方法(非常感谢那些在互联网上发布类似问题和解决方案的人):
Sub VlookupFunction()
Dim S_Name As String
Dim Lookup_Range As Range
Dim S_Value As Single
Dim c As Long 'column
Dim r As Long 'row
S_Name = "OpenState"
Set Lookup_Range = Range("A1:B10")
S_Value = Application.WorksheetFunction.VLookup(S_Name, Lookup_Range, 2, False)
With Sheet1
r = .Columns(3).Find(what:="", after:=.Cells(14, 3)).Row
.Cells(r, 3) = Date 'today
r = .Columns(4).Find(what:="", after:=.Cells(14, 4)).Row
.Cells(r, 4) = S_Value
End With
End Sub