“Excel行”;“闹翻”;桌子

“Excel行”;“闹翻”;桌子,excel,excel-2007,Excel,Excel 2007,好的,我有一个工作簿,每张工作表都包含一个表格。这些表链接到Access数据库,而Access数据库又链接到SQL数据库 我遇到的问题是,我的工作簿中的一些表(而不是所有表)的数据似乎“溢出”了表区域。通常,当向表中添加新记录时(通过刷新将工作簿连接到Access DB的链接),表会自动展开以包含这些记录。在这些情况下,情况并非如此 我相信这个问题与曾经应用于表的过滤器有关(不确定是什么过滤器,因为我没有应用它们),但是我删除了所有过滤器,然后刷新了表,我仍然看到数据超出了表的下限 我的问题是,

好的,我有一个工作簿,每张工作表都包含一个表格。这些表链接到Access数据库,而Access数据库又链接到SQL数据库

我遇到的问题是,我的工作簿中的一些表(而不是所有表)的数据似乎“溢出”了表区域。通常,当向表中添加新记录时(通过刷新将工作簿连接到Access DB的链接),表会自动展开以包含这些记录。在这些情况下,情况并非如此

我相信这个问题与曾经应用于表的过滤器有关(不确定是什么过滤器,因为我没有应用它们),但是我删除了所有过滤器,然后刷新了表,我仍然看到数据超出了表的下限

我的问题是,我如何解决这个问题,最好是不删除和重新链接每个表,还有,为什么会发生这种情况,以便我将来可以防止它

这是一张照片:

我想你有:

Application.AutoCorrect.AutoExpandListRange = True
如果不起作用,您可以尝试强制使用:

ActiveSheet.ListObjects("Table1").Resize Range("$B$5:$E$36")

在表格中指定新范围…

如果有一些空行,使用此代码也可以更新表格

Dim RowEnd As Double
Dim posi As String

Application.ScreenUpdating = False
posi = ActiveCell.Address
Range("B3").Select
While Selection.Row < 50000
    Selection.End(xlDown).Select
    If (Selection.Row < 50000) Then RowEnd = Selection.Row
Wend
ActiveSheet.ListObjects("Table1").Resize Range("$B$3:$C$" & RowEnd)
Range(posi).Select
Application.ScreenUpdating = True
在这种情况下,每次更改工作表中的某些内容时,代码检查。。。
如果你在工作表上做了很多工作,你可以添加一个范围过滤器,或者在编辑结束时添加一个更新数据的按钮……

是的……如果你能详细说明一下我将如何做,我将非常感激……我将如何检查这个标准?感谢你回来给我更多的输入,非常感谢。
Private Sub Worksheet_Change(ByVal Target As Range)