如何有选择地与客户共享数据,以便他们只看到自己的数据,而不是他们的竞争对手?

时间:2015-12-09 07:16:08

标签: excel vba excel-vba

我的Excel 2013工作簿中有这样的数据

表1:

       Col A         Col B          Col B
1      Client 1      .....          123
2      Client 1      .....          456
3      Client 1      .....          99
4      Client 2      .....          324
5      Client 2      .....          989
6      Client 3      .....          234
7      Client 3      .....          23

我将此表1用于excel中其他位置的客户特定报告。 e.g。

客户报告:客户1

       Col A         Col B          Col C          Col D
1      Client 1      123            456            99

报告中的单元格A1是包含客户端名称的数据验证下拉列表。我可以将该下拉菜单更改为客户端2

客户报告:客户2

       Col A         Col B          Col C          Col D
1      Client 2      324            989            

我希望能够做的是向所有客户端发送一个文件,其中包含客户端报告,但每个客户端应该只能看到自己的数据。 < / strong>作为奖励,每个客户端也应该无法查看列表中的哪些其他客户端(即在客户端1收到的文件中,他/她不应该访问客户端2和客户端3的号码,作为奖励,甚至不应该看到客户2和客户3的名称

我可以选择为每个客户端手动创建这些文件。我正在寻找一种方法来隐藏文件中的数据,具体取决于它的客户端,从而将相同的文件发送到多个客户端(我有~30个客户端,因此手动过程将容易出错并且很麻烦)。如果我能提供帮助,我不想创建30个单独的文件或工作表。理想的方法是建立一个&#39; master&#39;选项,它允许我访问所有数据,但不能访问我发送给它的客户端。但是, 数据机密性是超级关键的 ,如果Excel工作簿中的密码保护有问题,那么我不会想要这个选项,我将回到手册:)< / p>

此外,即使我只是在寻找vanilla Excel解决方案(我不能依靠我的客户安装插件或只是为了这个安装插件),如果你知道有趣的方法来解决这是插件的问题,请做评论/回答。

谢谢!

3 个答案:

答案 0 :(得分:0)

正如Steven Martain所说,Excel中没有安全性。您可以使用密码保护工作簿,但密码可以立即打破。而是将您的文件拆分为几个单独的文件。请参阅此链接以了解如何执行此操作。

http://www.rondebruin.nl/win/s3/win006.htm

然后,只需将不同的文件通过电子邮件发送给不同的收件人/客户/人。请参阅此链接以了解如何执行此操作。

http://www.rondebruin.nl/win/s1/outlook/amail6.htm

答案 1 :(得分:0)

没有编码/ VB就无法做到这一点。但是,您可以使用InstaRow(选中here)。哪个是这个问题的完美工具。您可以使用电子邮件ID(和您的客户)注册。他们会看到他们的部分。 他们甚至可以轻松地更改数据。

答案 2 :(得分:-2)

从上面的评论中发布@StevenMartin的答案,因为它似乎是可行的方式

“写一个宏来吐出30个工作簿 - 一个简单的搜索会告诉你excel密码保护可以在几秒钟内被打破”