我有一个问题,在Excel定义的表中移动单元格。当我有正常的数据时,只是在列标题上使用过滤器,这个函数工作正常:
If Not DeleteCells Is Nothing Then DeleteCells.Delete Shift:=xlShiftToLeft
DeleteCells是由整个工作表中要删除的单元格组成的范围。
现在我从电源查询下载数据,它变成了Excel定义的表,名称为Query1,现在当我打开删除宏时,它显示错误:
错误信息:这将不起作用,因为它将移动工作表中表格的单元格。
是否有方法恢复表的删除和移动功能?
数据看起来是这样的
假设包含数据的单元格需要清除,剩余的数据需要移动,以便保持数据的完整性,因此看起来如下所示
2条答案
按热度按时间0yg35tkg1#
这可能是因为您试图删除移动会使表格变形的单元格。
例如,在下表中,假设我尝试删除单元格C5。
我会得到一个错误消息,因为在删除并向左移动后,表格会像下面的图像一样扭曲(这个截图是为了说明这一点而编辑的):
避免此问题的一种方法是删除整个列。
这样,整个表将向左移动,这是允许的。
如果不能删除整列,则至少需要确保表中的所有单元格将被替换相同的量。例如,这也可以在我的示例中工作:
如果您的工作表设置方式无法做到这一点,那么可以考虑将表格移动到其他地方,或者使用
ClearContent
或类似的方法来代替删除单元格。huwehgph2#
好吧...我发现解决办法比我最初想的要简单。由于Excel表是一个ListObject,通过Power Query加载数据后,我只是写了一个简短的宏。取消列出表和我所有的功能,再次工作!