2017-08-02 62 views
0

我有Excel VBA中的代码,我想将其转换为在Powerpoint VBA中运行。这里是我迄今为止在PPT VBA:将Excel VBA中的数组转换为Powerpoint VBA

Dim wbkISS As Excel.Workbook 
Dim varSheetISS As Excel.Worksheet 

Set wbkISS = Workbooks.Open(FileName:="C:\Users\...\Documents\ISS.xlsm") 
Set varSheetISS = wbkISS.Worksheets("For ISS") 

strIDRangeISS = "A2:D50" 

varSheetISS = varSheetISS.Range(strIDRangeISS) 

For iRowISS = LBound(varSheetISS, 1) To UBound(varSheetISS, 1) 
    ... 
    For iRowFCST = LBound(varSheetFCST, 1) To UBound(varSheetFCST, 1) 
     ... 

但在“LBOUND(varsheetISS”它给了我编译错误:预期数组我的代码工作正常,在Excel中,所以我想我有错?语法PPT

+0

此代码没有“Option Explicit”标题。 – MacroMarc

+0

这真的在Excel中正常工作?很确定它不会...如果你想在PPT中运行它,你首先需要创建一个Excel应用程序对象 –

+0

对不起,excel vba版本不同,我在那里发布的代码是我迄今为止修改的ppt – user90823745

回答

1

只好岗位作为答案:。

此代码没有“选项显式”

变量varSheetISS被传来传去硬拼遭受

它将工作表的寿命开始,然后投射到一个范围(其目的是获得范围的值)。

很多这可以通过使用选项显式避免。

Dim issArray As Variant: issArray = varSheetISS.Range(strIDRangeISS).Value2