有谁知道如何使用VBA从SAP Netweaver中提取数据?
我有许多日常报告,需要将数据从SAP导出到Excel并将其格式化为报告.我已经编写了可以进行格式化的工作VBA宏.我必须手动提取数据并单独运行每个报表宏.如果我的宏可以进入SAP,获取报告#1的数据,格式化它,获取报告#2的数据等,那么可以节省很多时间.
我使用SAP NetWeaver(版本730,版本7300.1.3.1079).报告只是Excel数据透视表和图表.
谢谢!
在我的数据分析(第一个问题)的持续传奇中,我想删除部门(字段 7)不是 101、102 或 103 的所有行(名称已更改以保护无辜者)。数据中有大约一百个部门,因此使用Criteria1:=Array("104", "105", "106",
etc 是不切实际的。
我想做这样的事情:
myrange.AutoFilter Field:=7, Criteria1:="<>101", Operator:=xlOr, _
Criteria2:="<>102", Operator:=xlOr, Criteria3:="<>103"
Run Code Online (Sandbox Code Playgroud)
但 Excel 不能识别超过 2 个条件。我可以添加一个辅助列,并让宏运行每一行(如果是 101、102 或 103,则值=是),过滤掉“是”,然后删除剩余的所有内容,但我将其保存为最后一个采取。
有没有办法让 Autofilter Criteria1 不等于数组?就像是:
myrange.AutoFilter Field:=7, Criteria1:="<>" & Array("101", "102", "103")
Run Code Online (Sandbox Code Playgroud) 我想将数据添加到一堆现有图表中.假设每个图表具有不同数量的数据系列,并且原始数据的位置在同一工作簿中的某个位置.这是我开始的:
For iChart = 1 To iCount
ActiveSheet.ChartObjects("Chart " & iChart).Activate
intSeries = 1
Do Until ActiveChart.SeriesCollection(intSeries).Name = ""
Set rXVal = ActiveChart.SeriesCollection(intSeries).XValues '<- Object Required error
Set rXVal = Range(rXVal, rXVal.End(xlDown))
Set rYVal = ActiveChart.SeriesCollection(intSeries).Values
Set rYVal = Range(rYVal, rYVal.End(xlDown))
ActiveChart.SeriesCollection(intSeries).XValues = rXVal
ActiveChart.SeriesCollection(intSeries).Values = rYVal
intSeries = intSeries + 1
Loop
Next iChart
Run Code Online (Sandbox Code Playgroud)
我知道这ActiveChart...XValues = rXVal
有效,但我在线上遇到了"需要对象"的错误Set rXVal = ActiveChart....XValues
.我假设因为一个范围进入以定义数据系列,我可以再次取出该范围然后添加到它.
更新
为了澄清一点,我有8个位置的加速度计和FFT软件设置,以记录4个独立频段的峰值振动响应.这样每个样本产生32个数据点.导出时,软件会发出4张Excel工作簿; 每个频段一个.每张表都有加速度计名称,样本数字下降.