我一直试图为工作项目开发一个相当基本的会计电子表格。我不确定如何在这里添加附件,所以我会尽可能地尝试解释。
我每天都会手动将数据输入到包含多个列的工作表中,我的列标题有几个示例:Tax Invoice No.
,Customer
,Description
和Date
。它们的范围从单元格A3
到Y3
,表格涵盖范围A3:Y1135
。
我需要为其他人建立一个易于阅读数据的首页报告,但这也允许我填充:Current Month Results
或Previous Month Results
或Year to date results
,无论我选择哪个。我知道有很多手动的方法可以解决这个问题,但我希望得到一些比我更先进的人的意见!我在想一个宏按钮或一个下拉框来生成报告可能会有效,但我被卡住了。
有没有人有任何想法?
答案 0 :(得分:1)
不需要VBA。使用数据透视表(隐藏工作表)来合并数据,如果需要进一步自定义,请使用GetPivotData函数来提取精确字段...在GetPivotData函数中引用外部单元格将允许查看器过滤...可以使用类似的东西组合框,列表,甚至数据验证,以供选择...
答案 1 :(得分:0)
我想说你可以用标准的excel公式做到这一点,而不必费心去做VBA。如果没有更详细的信息,很难给出确切的答案,但我会按照您想要报告的时间段进行计算,然后使用SUMIF函数或SUMPRODUCT(如果您使用多个条件来获取摘要页面)。如果要查找vales而不是一起添加范围,请查看VLOOKUP
答案 2 :(得分:0)
Sheets("Output").Select
Range("A2").Select
Name2 = ActiveCell.Value
Do While Name2 <> ""
Sheets("Master Table").Select
Range("A2").Select
name1 = ActiveCell.Value
Do While name1 <> ""
If name1 = Name2 Then
ActiveCell.Offset(0, 1).Select
Range(Selection, Selection.End(xlToRight)).Copy
Sheets("Output").Select
ActiveCell.Offset(0, 1).Select
ActiveCell.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'ActiveSheet.paste
Application.CutCopyMode = False
Range(Selection, Selection.End(xlToLeft)).Select
'ActiveCell.Offset(1, 0).Select
name1 = ""
Else
Sheets("Master Table").Select
ActiveCell.Offset(1, 0).Select
name1 = ActiveCell.Value
End If
Loop
Sheets("Output").Select
ActiveCell.Offset(1, 0).Select
Name2 = ActiveCell.Value
Loop