如何用vba使得数据透视表可以透视图片?

数据透视表本身只能透视单元格内容,如果单元格的内容是图片,同时满足以下几点,那么是可以借助vba实现透视图片。

1.每个单元格中存放的只有1个图片,不能既有图片又有文本;

2.每个图片都只存放在1个单元格内,不能存放跨越多个单元格;

3.图片要位于单元格内部,不能超出单元格的边界

如果可以同时满足以上几点,那么可以使用以下的思路实现数据透视表透湿图片的功能:

1.遍历将数据源单元格中存放的图片

2.将图片的名称存放于单元格内

3.在Workbook对象的SheetPivotTableUpdate事件或者SheetPivotTableChangeSync事件中遍历所有的透视表单元格区域,将含有图片名称的替换为图片。

4.同时需要考虑图片所在的列的列宽和行高问题

以下vba代码举例演示了如何借助vba实现数据透视表透湿图片的功能:

       

发表评论