王剑编程网

分享专业编程知识与实战技巧

Excel的高级用法:制作属于自己的知识库查询系统

我们在处理客户问题的时候,问题的多样性和复杂性会让我们需要做一个自己的问题知识库查询系统。当客户问题此类问题的时候,我们只需要点击搜索按钮就可以将对应的答案查找处理。下面来讲一个简单的操作。

一、知识库查询系统演示:

如上图所示,我们可以分别根据产品名称或者是产品问题类型,进行问题结果的搜索。这就是我们知识库系统最为基础的功能。下面我们就来详细说明如何制作这样的知识库查询系统。

二、制作步骤:


第一步:按ALT+F11,或者点击右键点击工作表名称的地方,选择查看代码,进入代码编辑窗口。如下图:

第二步:左边工程框点击右键,插入新模块,双击新建的模块进入代码编辑窗口。如下图:

第三步:进入模块代码编辑窗口后输入以下代码功能内容。

代码如下:

Sub 按问题查询()

ends = Sheet1.Columns(1).Find("*", , , , , searchdirection:=xlPrevious).Row '动态找到A列的最后一个单元格

Sheet2.Range("A7:E1048576").Clear '清除之前所有的筛选结果

For Each Rng In Sheet1.Range("D2:D" & ends)

m = m + 1

If Rng Like Sheet2.Range("B3") Then '如果条件成立,那么

k = k + 1

Sheet1.Range("a" & m + 1 & ":E" & m + 1).Copy Sheet2.Range("a" & k + 4) '将记录复制到另一个区域

End If

Next

End Sub

Sub 按产品查询()

ends = Sheet1.Columns(1).Find("*", , , , , searchdirection:=xlPrevious).Row '动态找到A列的最后一个单元格

Sheet2.Range("A5:E1048576").Clear '清除之前所有的筛选结果

For Each Rng In Sheet1.Range("B2:B" & ends)

m = m + 1

If Rng Like Sheet2.Range("B2") Then '如果条件成立,那么

k = k + 1

Sheet1.Range("a" & m + 1 & ":E" & m + 1).Copy Sheet2.Range("a" & k + 4) '将记录复制到另一个区域

End If

Next

End Sub

Sub 清除()

Sheet2.Range("A5:E1048576").Clear '清除之前所有的筛选结果

End Sub

注释:因为实现的就是三个功能,所以也就只有三段代码。


第四步:插入按钮,点击右键制定宏功能即可,如下图:

三、查询要点介绍:

1、当我们按照产品搜索:SZ01时,会将问题当中所有属于SZ01产品的问题搜索出来;

2、当我们按照问题搜索:*死机*,会将问题当中包含死机的问题搜索出来;

3、在搜索查询当中需要注意的是,当我们搜索的内容和对象不是百分百匹配时候,需要在搜索文本的前后加上*星号,进行通配符查找。*代表的是包含的任意字符,?代表的是多少个字符。

4、特点运用EXCEL制作知识库查询系统主要在于后台VBA代码的编写,相比其他查询系统会更加简单同时速度上面也是比较快。

下方专栏可以领取知识库表格模板!

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言