Excel行"掉线"的表

时间:2014-04-09 12:57:36

标签: excel excel-2007

好吧,我有一张工作簿,其中每张纸都包含一张桌子。这些表链接到Access数据库,该数据库又链接到SQL数据库。

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

我认为这个问题与曾经应用于表格的过滤器有关(不知道我没有应用它们的过滤器),但我删除了所有过滤器,然后刷新了表格,我仍然看到超出我表格下限的数据。

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

这是一张图片:

enter image description here

2 个答案:

答案 0 :(得分:0)

我想你有:

Application.AutoCorrect.AutoExpandListRange = True

如果不能工作,您可以尝试强制使用:

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

在桌上给出新的范围......

答案 1 :(得分:0)

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

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

我想你不会超过50000行......最终增加价值 您可以放入一个按钮来更新表格,或在以下位置添加代码:

Private Sub Worksheet_Change(ByVal Target As Range)

在这种情况下,每次更改工作表内的内容时代码检查... 如果您在工作表上大量工作,可以添加范围过滤器或添加按钮以在编辑结束时更新数据...