1

我在创建用于将 Excel 列移动到数据透视表的自动化脚本时遇到了很多麻烦。我在 OSX 10.8.5 上运行没有 VB 的 Excel 2008。最终目标是将列数据字段转换为行数据字段。

tell application "Microsoft Excel"
open file "Users:dkstaff:Desktop:new.xlsx"

tell active sheet

    tell used range
        set rc to count of rows
    end tell

    set myRange to range ("D2:D" & rc)

    set formula of myRange to "=A2&\":\"&B2&\":\"&C2"
    # select sourceData
    insert into range column 4
    set header to range "D1"
    set value of header to "KEY"
end tell

我对如何执行选定范围的数据透视表并将其放在新工作表上一无所知。

-- tell active workbook

# new sheet
-- set new sheet with name "New Table"

# var range of data
-- set source_data to range D2:L … of sheet "data"

# var sheet
-- set PTSheet to the sheet named "pivot Table"

# Implement a new Pivot Table from source range
-- set pivot_table to make new pivot table at PTSheet with properties source_data

    tell active workbook
    set newSheet to make new worksheet at end
    tell newSheet
        set name to "Pivot Table"
    end tell
end tell

    -- Failed attempt thus far...

set source_data to range ("D2:L" & rc) of sheet "data"

set PTSheet to the sheet named "Pivot Table"

set pivot_table to make new pivot table at PTSheet with properties source_data

    ##########
-- Another failed attempt 
tell active sheet
    set source_data to range ("D2:L" & rc) of sheet "data"
    set PTSheet to the sheet named "Pivot Table"
    set pivot_table to make new pivot table at PTSheet with properties source_data
end tell

end tell

结果:错误“Microsoft Excel 出现错误:无法制作类数据透视表。” 从数据透视表到类的数字 -2710

我只是无法解决这个错误。

我在 Excel 中的工作流程是:选择列“键”-> 数据透视表-> 多个合并范围-> 我将创建页面字段-> 范围:数据!D$2:$L$1500 -> 新工作表。

在新表上,双击总计并显示最终数据。还有一步,但我现在不想让我的工作流程过于复杂。

如果有人有另一种方法可以从现有工作表自动创建数据透视表,请提及,否则,我很想继续学习 AppleScript,因为我觉得它对其他任务也很有帮助。

4

0 回答 0