【发布时间】:2016-08-12 22:44:52
【问题描述】:
这里是:我的第一篇文章,我不是程序员,但我希望你们能提供帮助!
我有一个包含 300 个单元格的列表,这些单元格都引用了单元格文本中包含的一本书的特定章节。每个单元格的内容各不相同,但我需要提取的内容始终是这种格式:
“……可以在第 A01 章:蓝调的历史中找到。”
“……可以在第 D27 章:蓝调的众多面孔中找到。”
我想只提取章节编号文本“A01”或“D27”等,并将其复制到与文本所在位置相邻的单元格中。
在单元格中,我要复制的章节编号总是以“Chapter”一词和一个空格开头,后面总是有一个冒号。
我已经在论坛上搜索了几个小时,你们都已经帮我弄清楚了如何使用 VB 来查找、复制和粘贴精确匹配的文本到另一个单元格,我确实找到了这个答案,看起来很有希望,但我不知道如何修改细节以使其适合我!
Copy part of cells that varies in both length and content using VBA
感谢您能给我的任何帮助!
【问题讨论】:
-
你应该在那个范围内循环(见:excel-easy.com/vba/examples/loop-through-defined-range.html),如果 Instr(cell.value, "can be found in Chapter ") 0 那么你操作的是单元格字符串。 value 以提取 cell.value 的下 3 个字符并将它们写入 cell.offset(1,0)。字符串操作:excel-easy.com/vba/string-manipulation.html。一步一步地发布您的进度(编辑您的问题),我们可以帮助调试!
-
我认为你并不需要 VBA。在您的字符串中找到“章节”的公式,然后删掉后面的相关文本应该做同样的事情。 MID(A1,FIND("章节",A1,1)+8,3)
-
你们都很棒。这个解决方案,以及下面使用 SEARCH 的解决方案只给了我章节编号的前两个字符,所以我只是将 3 更改为 4,它工作得很好。谢谢!!!