2017-08-02 98 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