我有一列单元格,其中包含长度不超过140个字符的可变文本。我想要做的是编写一个函数来解析这些字符串只用于以“@”开头的单词,并将它们组织在一个由空格分隔的单个相邻单元格中。
这些子串的长度和字符串中的位置不同。并且在单元格中可能有多个以“@”开头的子字符串。
我已经尝试了很多不同的方法。提前感谢您的建议!
这是一种似乎有效的方法,但可能不是“正确的”方式:
目标是解析包含推文的C列,用于所有“提及”(以@开头的字符串),并将它们放在D列的相邻单元格中。
我从C列中获取了所有内容并将其粘贴到新工作表中。然后我做了文本到列,以便将推文逐字逐句放入单元格。在这些单元格中,我使用了函数(拖出)= IF(ISNUMBER(FIND(“@”,B3)),CONCATENATE(B3,“”),“”),以便仅将twitter句柄分成下面的列。我认为如果有多个句柄要加入,就需要添加一个空格。
然后我使用了另一个嵌套的CONCATENATE函数= CONCATENATE(IF(B34 =“”,“”,B34),IF(B35 =“”,“”,B35)......,IF(B65 =“”,“ “,B65)将句柄(现在后跟空格)放在一个单元格中。必须以这种方式编写,作为空白单元格中CONCATENATE函数的#VALUE错误的解决方法。
然后我选择了整行,将其复制并转换为一列。然后选择了该列,仅将粘贴的值粘贴到D列中的原始工作表中。句柄都与相应的推文对齐。
我很想学会如何以正确的方式做到这一点。
答案 0 :(得分:0)
Dim regEx As Object
Dim strPattern As String: strPattern = "^@"
Set regEx = CreateObject("VBScript.RegExp")
regEx.Pattern = strPattern
If regEx.Test(valueOfCellToCheck) Then
' do your logic here
Else
' skip cell
End If