【问题标题】:Extracting Text from a cell move it in to a cell on another worksheet从单元格中提取文本将其移动到另一个工作表上的单元格中
【发布时间】:2014-02-15 23:55:39
【问题描述】:

大家好,StackOver Flow,

我对 VBA 语言和工作流程比较陌生,但我有一些编码经验。我的问题是标题并不能真正帮助解释:

我每天都会收到电子邮件,其中包含我需要从中提取并移入相应单元格的信息。电子邮件示例如下,我已将其从 Outlook 复制到我命名为“RawData”的 Excel 工作表中。我将列标记为 A)

**A)** Send Date
01/01/2014 Timestamp
**B)** Subject
([Type]) word IndetifierOne IndetifierTwo word 100001
**C)** Body
Item HYPERLINK (www.thistheexample.com/100001) Subitem Name HYPERLINK (www.thistheexample.com/name/99321)keyword **All this Information is irrelevant** Item Names
HYPERLINK (www.thistheexample.com/name/99321)keyword HYPERLINK (www.thistheexample.com/name/99321)keyword HYPERLINK (www.thistheexample.com/name/99321)keyword

需要提取并按顺序放置在列中的是

**A)** Date
**B)** Identifier Two 
**C)** This has other information input into it later manually 
**D)** Identifier One **E)** keyword sometimes has more than one line in it separated by a , will vary often 
**F)** Timestamp 
**G)** (www.thistheexample.com/100001) this one needs to be a HYPERLINK, the part before the "/" is always the same the IdValue "100001" will change 
**H)** IdValue from (www.thistheexample.com/100001) which would be 100001 

要重申我需要帮助的是,我不确定如何对所有这些信息进行排序并放入不同工作表的正确单元格中,我一直在梳理 StackOverFlow,Excel 先生帮助和指导,但与信息碰壁。我正在寻找建议或我可以操纵的东西来完成这项工作,谢谢。也尝试了许多不同的想法,但没有一个能满足我对 T 的要求,以使这项任务大部分自动化。

感谢您的帮助和时间。

【问题讨论】:

  • 可以截屏吗?尽管您的解释是合理的,但编码会因您的数据组织方式而异。另外,你手动从 OL 复制到 XL 然后自动化?
  • 我很抱歉,但由于法律原因无法截取屏幕截图,不,我最近自动从 Outlook 复制到 Excel 也遇到了一些麻烦,但我让它工作了。我试图尽可能好地表示数据,因为每封电子邮件都分布在我的 RawData 工作表上的 3 列 A、B、C 中,电子邮件按最新到最旧的降序处理。处理后的数据分布在 A、B、C、D、E、F、G 和 H 列中,从最旧到最新。我将尝试在不处理实际数据的情况下构建一个克隆,但其背后的想法相同。
  • 由于声誉不足,我无法发布图片。如果有解决方案,请告诉我它是什么。感谢大家的帮助和时间
  • 大家好,由于我的工作占用了我的大部分时间,我花了一些时间才将这些图像放在一起。这是图片的链接。
  • i.imgur.com/Y9Ftbrj.jpg - 这是原始数据

标签: string excel vba text worksheet


【解决方案1】:

我并不总是理解您的描述,因为我无法确定您的解释是电子邮件的一部分,还是只是为了向我们展示它。

如果电子邮件的结构相同,我不会使用 VBA。只是公式:

提取日期:在工作表 A1)

=MIDDLE(RawData!A1,SEARCH(" ",RawData!A1,1)+1,LENGTH(RawData!A1)-SEARCH(" ",RawData!A1,1))

这将从工作表 RawData 单元格 A1 中提取空格之后的所有内容。如果您的日期格式始终相同(例如“16/02/2014” - 10 个字符),那么为了确保没有提取任何其他内容,您可以尝试: =MIDDLE(RawData!A1,SEARCH(" ",RawData!A1,1)+1,10)

如果你想使用 VBA: 中间选项内置于: 日期 = 中(单元格(1,1)、5、10)

可以调用搜索函数: SpacePlace = Application.WorksheetFunction.Search(" ", Cells(1,1), 10)

【讨论】:

  • 您好,谢谢您的回答。这不是我想要解决我的问题的方法
  • 我将使用它作为未来参考,我想要 VBA,因为我需要执行我正在寻找的其他任务。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-10
  • 2018-03-26
  • 2022-08-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多