2013-03-20 104 views
2

我正在处理COM插件,但我很乐意在VB或VBA中解决这个问题。我有基于从数据库中选择而生成的用户报告,然后将该工作表添加到现有工作表中。我被告知我需要保持相同的基本格式并将其保留在Excel中。问题在于表单中的这些列表可能比有空间的长度长得多。在Excel电子表格中插入多重滚动条

这里是目前的形式是什么样子: 3 Tables

我一个解决方案的想法是下降的总的理论最大的项目(从DB的股权总数加说50岁左右),然后使用滚动条进行中间滚动。

有没有办法让3个单独的滚动条只滚动每个表(再次有上面这些东西不会滚动的东西)?我只看到滚动条滚动整个工作表。

有没有更好的方法?

我想过要尝试使用索引函数,但我希望最终用户能够在滚动时编辑信息(并且在这种情况下将编写索引)。

想法?

回答

2

将数据存储在另一张表或下面的这些表中。

使用OFFSET函数对此数据进行引用,该函数基于特定单元格中每个表的行方向的值。

将一个滚动条(ActiveX或Forms)放在每个表格的旁边,从前一步骤中链接到特定单元格。

隐藏特定单元格。 隐藏表格/行与数据。

使用窗体滚动条,您可以轻松地将其值与单元格相关联,但不能将其值与最小值和最大值链接起来,并且您希望链接到设置中的记录数(减去显示的记录数表)...使用ActiveX控件,它看起来像是同一个故事。你将不得不通过一些代码设置min和max属性,在这种情况下,我总是更喜欢ActiveX控件,因为它与VBA交互更容易(imho)。

+0

这与使用索引控件类似,这是我的第一个想法,对吗?唯一的区别是使用OFFSET代替索引。这是我目前最好的想法,但我还需要训练用户在另一个位置编辑列表(这可能比听起来更难)。我不假设有一种方法可以同时使用OFFSET/INDEX和链接单元格的值? – 2013-03-20 16:05:13

+1

您可以将编辑按钮添加到每条记录的侧面,并训练用户推送它,根据特定按钮参数(table_ID,row)和滚动条值(scrollbar_row)弹出UserForm以填充表单,并且一个应用和一个取消按钮就可以进行处理或丢弃。当我有类似的事情时,我自己做了什么就是在一个UserForm中构建所有三个,从该表单中获取数据库中的数据,并有一个部分来编辑单个记录。我可以告诉你,这是很多工作......但是让你完全控制发生了什么 – 2013-03-20 16:09:13

+0

我害怕这一点。我曾希望有一个我没有想到的优雅解决方案。谢谢。 – 2013-03-20 16:43:31