人气 4514

[Excel技巧] Excel VBA实现关键词分类 [复制链接]

@Xizi_kcB33ttX 2017-8-12 15:28:23
SEO对于很多人来说并不陌生,因为关键字优化,可以使搜索引擎更加容易添加内容。现在也有很多做关键词优化的工具,你也可以不需要懂关键词优化的原理。这里有一份给SEO/SEM做的一张表,具体作用大概是这样的:A列是一堆用户搜索的东西,B列是SEO/SEM同学不知道根据经验还是什么的罗列出来的关键词(小编已经把关键词乱改了,因为不懂,所以不敢直接照搬人家的东西,内行勿喷)

1502522753512680.jpg

1502522753512680.jpg

需求是要把A列的每一条搜索语句,分别归类到所包含的关键词下面。如A2:深圳市机动车置换和报废有什么区别? 这一句就包含了“置换”和“报废”两个关键词,那这条搜索就被同时归类到【置换】和【报废】关键词下。
1、在Sheet1添加待分类词组和关键词后,点击分组控件。

1502522784276393.jpg

1502522784276393.jpg

2、点完之后自动打开Sheet2,展示结果。第一行是关键词,每一个关键词下面是分组的内容。

1502522799318090.jpg

1502522799318090.jpg

3、查看未分配到任何一组的搜索语句,即不包含任意关键词的搜索语句。打开Sheet1,此时可看到,已分类的搜索字体已变成灰色,未分类的仍是黑色。

1502522811163477.jpg

1502522811163477.jpg

其实还可以更加完善如:没有撤销本次分组功能,没有统计每个关键词下有多少搜索的功能,也没有统计有多少未被分组的搜索的功能,而且有着各种限制如添加1000个关键词肯定就不行了等等,这些留给大家自行研究吧
详细源码:Sub kwclassification()‘定义整数变量iDim i As Integer‘for循环,i从2至shee1第2列最后一个非空单元格的行数值For i = 2 To Sheets("sheet1").Cells(2, 2).End(xlDown).Row‘将sheet1中,单元格(i,2) 的值,赋予sheet2的单元格(1,i-1)Sheets("sheet2").Cells(1, i - 1) = Sheets("sheet1").Cells(i, 2)‘定义一个字符串变量s1Dim s1 As String‘将sheet2中,单元格(1,i-1)的值赋予s1s1 = Sheets("sheet2").Cells(1, i - 1)‘ 定义整数变量j,a,a赋值2Dim j As IntegerDim a As Integera = 2’嵌套for循环,j从2至sheet1第1列最后一个非空单元格的行数值For j = 2 To Sheets("sheet1").Cells(2, 1).End(xlDown).Row‘定义一个字符串变量sDim s As String‘将sheet1中,单元格(j,1)的值赋予ss = Sheets("sheet1").Cells(j, 1)‘定义一个布尔变量bDim b As Boolean‘调用Excel函数find,从s中找到s1,再用isnumeric函数判断其返回值,并将结果赋值给bb = IsNumeric(Application.Find(s1, s))‘如果b的值是true,则sheet2的单元格(a,i-1)的值等于s同时sheet1的单元格(j,1)的字体颜色编号等于15且a+1否则结束ifIf b = True ThenSheets("sheet2").Cells(a, i - 1) = sSheets("sheet1").Cells(j, 1).Font.ColorIndex = 15a = a + 1End If‘进行下一次j内循环Next j‘进行下一次i外循环Next i‘for循环结束后,选中即打开sheet2Sheets("sheet2").SelectEnd Sub
您需要登录后才可以回帖 登录 | 立即注册

QQ|手机版|精益人 ( 沪ICP备19004111号-1 )

GMT+8, 2024-5-19 04:20 , Processed in 0.252673 second(s), 22 queries .

Powered by Lean.ren X3.5 Licensed  © 2001-2030 LEAN.REN