首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

包含值列表的近似筛选数据的excel vba代码

Excel VBA是一种用于自动化Excel操作的编程语言。它可以帮助开发人员通过编写代码来实现各种功能,包括数据处理、筛选、计算等。对于包含值列表的近似筛选数据,可以使用以下Excel VBA代码来实现:

代码语言:txt
复制
Sub FilterData()
    Dim ws As Worksheet
    Dim rng As Range
    Dim filterValue As String
    Dim filteredData As Range
    
    ' 设置工作表和筛选范围
    Set ws = ThisWorkbook.Worksheets("Sheet1")
    Set rng = ws.Range("A1:A10") ' 假设数据在A1:A10范围内
    
    ' 获取筛选值
    filterValue = InputBox("请输入筛选值:")
    
    ' 清除之前的筛选结果
    ws.AutoFilterMode = False
    
    ' 应用筛选
    rng.AutoFilter Field:=1, Criteria1:="*" & filterValue & "*", Operator:=xlAnd
    
    ' 获取筛选结果
    Set filteredData = rng.SpecialCells(xlCellTypeVisible)
    
    ' 在新的工作表中显示筛选结果
    Dim newWs As Worksheet
    Set newWs = ThisWorkbook.Worksheets.Add
    filteredData.Copy newWs.Range("A1")
    
    ' 清除筛选
    ws.AutoFilterMode = False
    
    ' 提示筛选结果
    MsgBox "筛选结果已显示在新的工作表中。"
End Sub

上述代码实现了以下功能:

  1. 提示用户输入筛选值。
  2. 清除之前的筛选结果。
  3. 根据用户输入的筛选值,在指定的范围内进行筛选。
  4. 将筛选结果复制到新的工作表中。
  5. 清除筛选。
  6. 弹出消息框提示筛选结果已显示在新的工作表中。

这段代码可以通过在Excel中按下Alt+F11打开VBA编辑器,然后在模块中插入一个新的代码模块,将代码复制粘贴到模块中,最后按下F5运行来执行。

对于Excel VBA的更多学习资源和教程,可以参考腾讯云的Excel VBA开发文档:Excel VBA开发文档

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

VBA高级筛选技巧:获取唯一

VBA中,AdvancedFilter方法是处理这种情形非常强大一个工具。该方法可以保留原数据,采用基于工作表条件,可以找到唯一。下面,将详细介绍如何获取并将唯一放置在单独地方。...设置要筛选单元格区域 AdvancedFilter方法对Range对象进行操作。接通常做法,设置单元格区域,但要注意,VBA始终将第一行视为包含标题行。...如果数据没有标题,即第一个单元格是常规,则第一个可能会在唯一列表中出现两次。 通常,我们只是在一列中查找唯一。...AdvancedFilter方法可以对多个列进行操作,如果只想筛选数据子集,则可以限制其行范围。 可以跨列筛选唯一。...如果输出区域太小,无法包含所有结果,VBA将溢出该区域。这意味着无法限制输出,因此要选择一个没有或可以覆盖原有列。

8.3K10

Excel实战技巧55: 在包含重复列表中查找指定数据最后出现数据

图1 下面,我们分别使用公式和VBA来解决。...,也就是与单元格D2中相同数据在A2:A10中最后一个位置,减去1是因为查找是B2:B10中,是从第2行开始,得到要查找在B2:B10中位置,然后INDEX函数获取相应。...组成数组,由于这个数组中找不到2,LOOKUP函数在数组中一直查找,直至最后一个比2小最大,也就是数组中最后一个1,返回B2:B10中对应,也就是要查找数据列表中最后。...图3 使用VBA自定义函数 在VBE中输入下面的代码: Function LookupLastItem(LookupValue AsString, _ LookupRange As Range,...Cells(i, ColNum) Exit Function End If Next i End With End Function 然后,在工作表中像Excel

10.8K20
  • python dataframe筛选列表转为list【常用】

    筛选列表中,当b列中为’1’时,所有c,然后转为list 2 .筛选列表中,当a列中为'one',b列为'1'时,所有c,然后转为list 3 .将a列整列,转为list(两种) 4....筛选列表,当a=‘one’时,取整行所有,然后转为list 具体看下面代码: import pandas as pd from pandas import DataFrame df = DataFrame...c 0 one 1 一 1 one 1 一 2 two 2 二 3 three 3 三 4 four 1 四 5 five 5 五 """ # 筛选列表中...筛选列表中,当a列中为'one',b列为'1'时,所有c,然后转为list a_b_c = df.c[(df['a'] == 'one') & (df['b'] == '1')].tolist()...one', 'one', 'two', 'three', 'four', 'five'] ['one', 'one', 'two', 'three', 'four', 'five'] """ # 筛选列表

    5.1K10

    django列表筛选功能实现代码

    views,中设置请求类型 class LawDetailView(View): def get(self, request, law_id): type = request.GET.get('...,在前端页面上有查询功能,要查询输入选择有A,B,C等,可以通过任意一个查询,或者任意组合进行查询。...在后端,你可以使用request.GET[‘A’]获取传入数值。 我们需要判断哪个有输入,再在数据库中进行查询,这样比较麻烦。...注: A B C 等,为前端传输过来数据 name address mobile 等,需为你要查询属性字段 startWith contains endWith 等,为你要筛选规则 Person...为model 表名 以上这篇django列表筛选功能实现代码就是小编分享给大家全部内容了,希望能给大家一个参考。

    1K00

    Excel技巧:如何用Excel筛选数据也有顺序编号?

    确实有这种问题,筛选数据为了打印,需要前面有顺序编号,可是一筛选原有的编号就断了,有得手工改,有没有什么办法能筛选时候编号自动顺序排列呢?效果如下: ?...场景:这招主要是为了打印,筛选完毕之后还能排序号太重要了。 问题:如何用Excel筛选数据也有顺序编号? 解答:利用Subtotal函数搞定。...具体操作如下:在序号C4单元格处输入=subtotal(103,D4:D4),如下图1处所示: 公式说明一下: Subtotal叫分类汇总函数,基本就是只统计筛选之后数据统计。...参数103表示统计个数,与参数3区别是,手动隐藏行数也不统计个数。 D4:D4是统计范围,随着公式相对拖拽,可以看出范围是逐步扩张。所以才会统计出1,2,3,4等数据序列。...原理:当筛选之后,区域发生动态变化,subtotal函数会根据新区域自动进行编号产生,所以就是动态序号。 接下来筛选一下试试看,假设筛选地区”南部”数据。(下图2处) ?

    4.3K20

    Excel小技巧90:快速删除包含指定所有行

    有一个Excel操作问题:我想删除所有包含有“完美Excel行,如何快速操作? 我想,你肯定是多么地不想再看“完美Excel”公众号了!...如下图1所示工作表,现在要删除单元格内容为“完美Excel”所在行。 ? 图1 首先,选择所有的数据。...接着,按Ctrl+F键,在“查找和替换”对话框“替换”选项卡中,输入“完美Excel”,如下图2所示。 ?...图2 单击“查找全部”按钮,在下面的列表框中选中全部查到单元格(先选取第1行,按住Shift键,滚动到最后,选取最后1行,这将选择所有查找到结果),如下图3所示。 ?...图4 单击“确定”按钮,即可删除所有含有“完美Excel”内容单元格所在行。 详细操作演示见下图5。 ? 图5

    10.4K50

    问与答85: 如何统计汇总筛选列表数据

    但是,如果我们对数据应用了筛选,则上述两个公式结果就不正确了,如下图2所示,我们筛选出“East”团队后统计: ?...图2 很显然,此时出现在筛选数据表中L只有1次,但上述两个公式结果没有变化,它们忽略了筛选数据而是仍然应用到原来所有的数据中。 如何使用公式,在单元格D2和D3中得到正确结果?...:一个是代表所有有效筛选数据列表,另一个是代表所有与条件匹配筛选数据列表,两个数组乘积将是一个包含与条件匹配筛选数据数组。...因为SUBTOTAL函数会忽略筛选隐藏,因此应用筛选后其返回会不同: 对于上图1中没有应用筛选数据表,SUBTOTAL函数生成数组为: {1;1;0;1;1;1;1} 表示在单元格区域C7...:C13中,1代表有效条目,0代表该单元格没有文本或

    1.6K20

    Excel-筛选带删除线数据并删除

    今天同事使用 Excel 时候遇到一个需求,有些内容不在需要时会被标记删除线,后面再删除,但是由于数据比较多,不方便一个个删除,有没有什么办法能删除标记了删除线内容所在行呢?...网上搜索一番,Excel 确实没用直接功能支持这种操作,大伙推荐使用 VBA筛选,但是操作有些复杂,不便于向不懂代码的人传达。 既然不能一步到位,能不能分两步呢?...还真找到了,先搜索,替换,再筛选。 1、替换删除线 Ctrl+H 快捷键呼出替换框 依次点击选项->格式->字体->勾选删除线 这样就可以搜索带删除线内容并替换成指定内容,这里替换成空行。...筛选到所有带删除线内容: 替换为空或其他特定内容(便于筛选即可): 2、筛选空行并删除 完工!office 办公软件技巧还真多,后续遇到会继续分享~

    18610

    Excel实战技巧62: 获取不重复作为数据验证列表

    数据验证”(在Excel 2013以前称为“数据有效性”)是Excel一项重要功能,它能够提供下拉列表供用户选择输入项,也能限制用户输入符合设定数据。...然而,细心朋友可能注意到,在单元格H1下拉列表中,原原本本地照搬了列A中数据,其中有很多重复项,这显然是我们所不需要。 如何基于已有数据数据验证列表中填充不重复数据项呢?...方法1:使用公式获取不重复 如下图3所示,选择单元格E2,输入用于获取不重复数组公式,然后下拉至数据末尾,得到不重复项列表。 ?...方法3:使用Office365中新功能—动态数组 选择单元格F1,输入公式: =SORT(UNIQUE(表1[名称])) 此时,Excel会自动将列中不重复分别输入到下面相邻单元格中,如下图6所示...实际上,对于Office 365来说,在定义命名公式时还有一种更简单方法,如下图7所示,直接在“引用位置”输入:=F1#,告诉Excel想要获取该列完整数据。 ?

    7K10

    VBA代码:将Excel保存为文本文件几段代码

    标签:VBA 下面的代码将输出一个名为“Test.txt”文本文件,其中包含常量delimiter中指定任何分隔符(在本示例中为管道符号)。...Print #nFileNum, Mid(sOut, 2) sOut = Empty End With Next myRecord Close #nFileNum End Sub 下面的代码输出文本文件不会对引号中有逗号或文本中有双引号单元格进行修改...(注:使用Excel自身功能导出时,会对单元格中包含逗号内容或者含有双引号单元格内容自动添加双引号): Public Sub TextNoModification() Const DELIMITER...无论字段中有多少个字符数据,字段宽度都是恒定。少于所需字符数字段必须用空格或其他字符填充。下面的代码将生成一个具有固定字段文本文件。字段宽度包含在vFieldArray中。...sOut, Len(DELIMITER) + 1) sOut = Empty End With Next myRecord Close #nFileNum End Sub 注:本文代码整理自

    30910

    盘点一个Excel表格数据筛选问题(中篇)

    一、前言 前几天有粉丝问我Excel数据筛选问题,原始数据如下图所示,其实一开始总学时是字符串格式,我直接在wps里边进行了批量转换为数据操作,下面一起来看看需求吧。...粉丝需求是根据原始表格,然后填充下表: 二、实现过程 这里其实使用Excel就可以实现,这里介绍两个方法,一起来看看吧。...I3:I128,"<=36") 如果要筛选37-72学时对应数据,可以使用公式:=COUNTIF(sheet1!I4:I129,">=37")-COUNTIF(sheet1!...确认之后就可以得到对应筛选数字,然后填写到表格中即可,顺利地解决了粉丝问题。下一篇文章,我们一起来看看另外一个方法! 三、总结 大家好,我是皮皮。...这篇文章主要盘点了一个Excel数据筛选问题,文中针对该问题,给出了具体解析和代码实现,帮助粉丝顺利解决了问题。

    11710

    盘点一个Excel表格数据筛选问题(下篇)

    一、前言 前几天有粉丝问我Excel数据筛选问题,原始数据如下图所示,其实一开始总学时是字符串格式,我直接在wps里边进行了批量转换为数据操作,下面一起来看看需求吧。...【方法三】Python实现 这个方法使用Pandas进行实现,代码如下所示: import pandas as pd df = pd.read_excel('successExcel .xlsx',...,可以得到如下结果: 可以看到结果和Excel里边筛选结果是一致,顺利地解决了粉丝问题。...这篇文章主要盘点了一个Python针对Excel数据表格对应数据筛选问题,文中针对该问题,给出了具体解析和代码实现,帮助粉丝顺利解决了问题。...最后感谢粉丝提问,感谢【莫生气】给出思路和代码解析,感谢【懒人在思考】等人参与学习交流。

    19940

    盘点一个Excel表格数据筛选问题(上篇)

    一、前言 前几天有粉丝问我Excel数据筛选问题,原始数据如下图所示,其实一开始总学时是字符串格式,我直接在wps里边进行了批量转换为数据操作,下面一起来看看需求吧。...粉丝需求是根据原始表格,然后填充下表: 二、实现过程 这里其实使用Excel就可以实现,这里介绍两个方法,一起来看看吧。...【方法一】Excel表格筛选功能 操作步骤如下所示: 然后弹出下图界面: 之后在这里进行条件设置即可: 确认之后就可以得到对应筛选数字,然后填写到表格中即可,顺利地解决了粉丝问题。...这篇文章主要盘点了一个Excel数据筛选问题,文中针对该问题,给出了具体解析和代码实现,帮助粉丝顺利解决了问题。

    14730

    Python筛选、删除Excel不在指定范围内数据

    本文介绍基于Python语言,读取Excel表格文件,基于我们给定规则,对其中数据加以筛选,将不在指定数据范围内数据剔除,保留符合我们需要数据方法。   ...其中,Excel表格文件具有大量数据,每一列表示某一种属性,每一行表示某一个样本;我们需要做,就是对于其中部分属性加以数据筛选——例如,我们希望对上图中第一列数据进行筛选,将其中大于2或小于-1...最终,我们保留下来数据,就是符合我们需要数据,此时我们需要将其保存为一个新Excel表格文件。   明白了需求,我们即可开始代码撰写;本文用到具体代码如下所示。...1 和 df["NDVI"] <= 1则表示筛选出"NDVI"列在-1到1之间数据,以此类推。...当然,如果我们需要对多个属性(也就是多个列)数据加以筛选,除了上述代码方法,我们还可以用如下所示代码,较之前述代码会更方便一些。

    47210

    示例工作簿分享:筛选数据

    标签:VBA,用户窗体 这是一个很好示例,充分展示了VBA和用户窗体控件编程技术。 示例中有一个数据工作表Sheet1,包含有一个列表,每一行单元格中都有很多用逗号分隔数据,如下图1所示。...图1 工作表Sheet2中列出了数据唯一,如下图2所示,可以根据工作表Sheet1数据添加而更新。 图2 创建了一个用户窗体,用来进行数据筛选,如下图3所示。...图3 这个示例工作簿有以下功能: 1.按F3会运行更新代码更新工作表Sheet2中唯一项,并以红色标注出新添加项。 2.按F4键将调出图3所示用户窗体。...(5)选择右侧列表框中项目,单击“移除”按钮,该项目会自动移至左侧列表框。 (6)单击“筛选重置”按钮会重置列表数据和工作表筛选。...…… 有兴趣朋友可以在完美Excel微信公众号中发送消息: 筛选数据示例 获取示例工作簿下载链接。 或者,直接到知识星球App完美Excel社群中下载该示例工作簿。

    15410

    Excel VBA解读(153): 数据结构——基本数组操作

    声明/创建数组 下面的语句: Dim arr(5) As Long 创建了一个可以容纳6个Long型数据数组,第一个元素索引为0,最后一个元素索引为5,如下图1所示。 ?...此时,语句: Dim arr(5) As Long 创建一个可以容纳5个Long型数据数组,第一个元素索引为1,最后一个元素索引为5,如下图2所示。 ?...图2 而语句: Dim arr(0 To 5) As Long 仍然是创建一个可以容纳6个Long型数据数组,第一个元素索引为0,最后一个元素索引为5,不受Option Base语句影响。...下面的代码声明了一个动态数组arr,然后根据数组需要存储数据动态调整数组大小并存储数据。...图4 小结 数组非常容易理解,存储和获取数据都很方便,使用也很简单。其最大特点是,可以方便地存储一组同类型数据,非常快捷地获取存储数据,只要你知道数据在数组中索引

    2.4K20

    Excel VBA解读(140): 从调用单元格中获取先前计算

    学习Excel技术,关注微信公众号: excelperfect 如果有一个依赖于一些计算慢资源用户定义函数,可能希望该用户定义函数在大多数情况下只返回其占用单元格中最后一次计算得到,并且只偶尔使用计算慢资源...使用XLM或XLL函数传递先前到用户定义函数 使用XLM或XLL技术,可以创建非多线程命令等效函数来检索先前。...下面是名为PREVIOUSXLL+函数代码,该函数具有使其成为易失性或非易失性参数。(命令等效函数默认为易失性,但在使用它将前一个传递给VBA用户定义函数时,通常希望它是非易失性)。...然后,可以使用它将先前传递给用户定义函数。...小结 有几种方法可以从VBA用户定义函数最后一次计算中获取先前,但最好解决方案需要使用C++ XLL。

    6.8K20
    领券