【发布时间】:2013-06-08 11:23:29
【问题描述】:
又是一天,又是一个问题。我认为让这个东西工作起来很容易,但我现在不知道如何走得更远。
问题:
在工作中,我们从客户那里获得了 Excel 表格。在此表中,他们将详细信息按列组织在每一列中,例如第一列包含客户编号,第二列包含名称,第三列包含地址等等。第一行包含列的描述,例如:“Customernumbers”、“Names”、“Addresses”等。
问题是,并非每个客户都以正确的顺序或相同的描述向我们发送此信息,例如有些人用 Customernumbers、numbers 或 studentnumber 来调用该列。此外,列的顺序并不总是相同。有时他们把地址放在第一列,有时他们把名字放在第一列。
我们必须以正确的顺序手动剪切和粘贴我们自己的 Excel 表中的每一列,以便我们的软件可以读取所有内容并将其放入数据库(不是 mysql,否则我已经为 mysql 制作了脚本) .
问题:
如何检测每一列中写入的内容并自动将该列剪切并粘贴到我们的 Excel 工作表的右列中。例如。检测到第三列是关于客户编号的,并将它们粘贴到我们工作表的客户编号列中。
想法:
1.) 我正在考虑用 php en mysql 做一个解决方案,是否将 excel 工作表以 xml 格式上传,以便 php 脚本可以运行并读取这个 xml 文件,以便最终可以将其存储在一个mysql数据库。之后,我们可以创建一个 xml 文件,将数据库中的信息写入一个 xml 文件,其中的列按正确的顺序排列。
2.) 经过长时间的思考和测试,我意识到这将花费很多时间,而且对于如此简单的事情来说太复杂了。相反,我尝试在 VBA 中制作一些东西。我找到了有用的脚本,并了解到 VBA 可以做我想做的事情。唯一的问题是,网络太大了,无法找到我真正想要的东西,我只知道 VBA 的基础知识,但是我想了解更多关于它的信息,这是我短时间内需要的东西。
【问题讨论】:
-
太全球化了。解决您的特定问题,修改您的帖子,显示您的代码,然后我们将提供帮助
-
我可以设想两种使用 VBA 的方法。要么创建一个宏来读取客户电子表格中的列,然后使用 if 语句来说明 if this 或 this 或 this,然后是“Customernumber”。另一种选择可能是让宏读取文件中的列并要求用户输入说,是的,该列是“名称”列。然后让宏将数据移动到适当的区域。
-
一个完全不同的想法 - 创建一个您发送给客户的模板表(或网络表单或类似的东西)并让他们为您填写......最简单的解决方案是通常是为了标准化您收到的输入,而不是尝试弄清楚它们是如何组合在一起的...不是您要求的,但希望它能让您思考...
-
@Scheballs 你有这些想法之一的示例文件吗?或者你能指导我制作这样的脚本吗?
-
如果您可以与我分享您正在使用的文件的样本,我可能会为您提供帮助。像这样的条件宏中的逻辑对于每种情况都非常具体。
标签: excel vba automation multiple-columns