Chinaunix首页 | 论坛 | 博客
  • 博客访问: 721425
  • 博文数量: 158
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 1643
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-11 14:37
个人简介

人法地,地法天,天法道,道法自然

文章分类

全部博文(158)

文章存档

2022年(1)

2020年(3)

2016年(1)

2014年(7)

2013年(4)

2010年(5)

2009年(86)

2008年(25)

2007年(26)

我的朋友

分类:

2009-04-06 11:51:29

Formula FormulaArray FormulaR1C1用法

 

这几个VAB中常到的RangeSeries对象属性,可以自定义设置公式.ABAP开发中,如果将数据导出到Excel中时,会碰到格式问题,从而影响格式显示;通过ABAP数据与Excel交互,我们可以在个人宏工作簿中写VBA代码对导出的数据进行处理,动态地写出指定区域的数据进行求和.当然也可以在ABAP字段中写出公式,把公式当作字符串写入Excel单元格中,也可以当作公式使用.

 

如果ABAP写数据到Excel,ABAP通过OLE本身无法做的,也可以做第二处理,那就是有针对性,VBA中编写代码来进行第二次处理,比如通过OLE写数据这种方式可以做到写入的数据是已通过排序,分类,小计的数据,但是这种方式写数据比较慢,而通过标准的数据导出到Excel又没有排序或者分类,小计,那就写一个VBA方法,进行后续处理,这样速度很快.

 

ABAP报表开发中有一些比较特殊的计算方式,但是Excel中有没有我们想要的或现成的计算方式,那可以事先在ExcelVBA中按照报表开发中的要求写一个计算公式,然后在SAP ERP中导数据时时调用这些公式便可.

 

 

Series.Formula 属性

返回或设置一个 String 值,它代表 A1 样式表示法和宏语言中的对象的公式。

 

Range.Formula 属性

返回或设置一个 Variant 值,它代表 A1 样式表示法和宏语言中的对象的公式。

 

说明

此属性对于 数据源无效。

如果单元格包含一个常量,此属性返回该常量。如果单元格为空,此属性返回一个空字符串。如果单元格包含公式,Formula 属性将该公式作为字符串返回,所用格式与在编辑栏(包括等号)中显示时的格式相同。

如果将单元格的值或者公式设置为日期类型,则 Microsoft Excel 将检查此单元格的数字格式是否符合日期或者时间格式。如果不符合,Microsoft Excel 将把数字格式设置为默认的短日期格式。

如果指定区域是一维或二维区域,则可将公式指定为 Visual Basic 中相同维数的数组。同样,也可在 Visual Basic 数组中使用公式。

如果为多单元格区域设置公式,则会用公式填充该区域所有的单元格。

 

Range.FormulaArray 属性

返回或设置区域的数组公式。返回(或可设置为)单个公式或 Visual Basic 数组。如果指定区域不包含数组公式,则该属性返回 nullVariant 类型,可读写。

 

说明

如果用本属性输入数组公式,那么该公式必须使用 R1C1 引用样式,而不能使用 A1 引用样式(请参阅第二个示例)。

 

本示例在 Sheet1 上的单元格区域 A1:C5 中输入数组常量 3

 

Visual Basic for Applications

Worksheets("Sheet1").Range("A1:C5").FormulaArray = "=3"

 

本示例在 sheet1 上的单元格区域 E1:E3 中输入数组公式“=SUM(R1C1:R3C3)”。

 

Visual Basic for Applications

Worksheets("Sheet1").Range("E1:E3").FormulaArray = _

"=Sum(R1C1:R3C3)"

 

Range.FormulaR1C1 属性

返回或设置指定对象的公式,使用宏语言 R1C1 格式符号表示。Variant 型,可读写。

说明

如果单元格包含一个常量,此属性返回该常量。如果单元格为空,此属性返回一个空字符串。如果单元格包含公式,此属性将该公式作为字符串返回,所用格式与在编辑栏(包括等号)中显示时的格式相同。

如果将单元格的格式的值或公式设为日期类型,Microsoft Excel 将检查该单元格的格式是否符合某个日期或时间数组格式,如果不符合,将采用默认的短日期数字格式。

如果指定区域是一维或二维区域,则可将公式指定为 Visual Basic 中相同维数的数组。同样,也可在 Visual Basic 数组中使用公式。

对多重单元格区域设置公式,则该区域中所有单元格都用此公式填充。

示例

Worksheets("Sheet1").Range("B1").FormulaR1C1 = "=SQRT(R1C1)"

 

 

相关解释参考Visual Basic Help

 

 

 

 

阅读(1894) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~