好吧,我有一张工作簿,其中每张纸都包含一张桌子。这些表链接到Access数据库,该数据库又链接到SQL数据库。
我遇到的问题是我的工作簿中的某些表(而不是所有表)似乎都有数据“溢出”表格区域。通常,当新记录添加到表中时(通过刷新将工作簿连接到Access DB的链接),表会自动扩展以包含它们。在这些情况下,它不是。
我认为这个问题与曾经应用于表格的过滤器有关(不知道我没有应用它们的过滤器),但我删除了所有过滤器,然后刷新了表格,我仍然看到超出我表格下限的数据。
我的问题是如何解决这个问题,最好不要删除和重新链接每个表格,还有,为什么会发生这种情况,以便将来可以阻止它?
这是一张图片:
答案 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)
在这种情况下,每次更改工作表内的内容时代码检查... 如果您在工作表上大量工作,可以添加范围过滤器或添加按钮以在编辑结束时更新数据...