Excel VBA 7.32按需将txt输入导入Excel,让Excel实现输入过滤功能,VBA这一波好溜

一起学习,一起进步~~

昨天我们分享了将多个txt文件批量导入Excel的功能,这个功能将现有的Excel功能进一步延伸,实现了一些低版本原本没有的功能,不过有些小伙伴们可能会说,我用的高级版本,VBA这个功能无法让我心动

那么今天再来一个介绍一个更加强大一点的功能,在批量导入txt文件数据的过程中,同时进入数据的简单过滤功能,将一些我们需要的数据导入Excel,而一些我们不需要的数据就不导入了,怎么样,这个功能心动了吗?

场景简介

假设我们现在有这样的多份文档

我们需要将其中含有广东的数据导入我们的Excel中,其他不含有这个关键字的就不导入了。来看看代码

代码区

Sub test()With Application.FileDialog(msoFileDialogFolderPicker) If .Show = -1 Then pathn = .SelectedItems(1) End IfEnd Withs1 = InputBox("请输入关键字", "关键字的确定")i = Cells(Rows.Count, 1).End(xlUp).Rowf = Dir(pathn & "\" & "\*.txt")Do While f <> "" Filename = pathn & "\" & f Open Filename For Input As #1 Do While Not EOF(1) Line Input #1, s If s Like "*" & s1 & "*" Then Cells(i, 1) = s i = i + 1 End If Loop Close #1f = Dir()LoopEnd Sub

看看代码的效果

选择文件夹之后,代码会提示我们输入指定的关键字

然后我们输入广东看看效果

成功的将所有含有广东字样的数据写入了。实现了一次比较简单的数据过滤并导入的功能

代码分析

With Application.FileDialog(msoFileDialogFolderPicker) If .Show = -1 Then pathn = .SelectedItems(1) End IfEnd With

这段代码依然是我们非常书序的选择文件夹的功能,因为有一些第一次看到我文章的小伙伴还不太清楚这段代码的作用,所以这里我就再说明下,最终是这样的文本对话框的效果

然后就是输入我们想要查找的关键字了。

说到输入框,很多小伙伴们就会想到我们之前一直使用的inputbox方法,今天我们这里使用的还是inputbox,不过不是方法,是函数!

运用函数的话,输入没有太多的限制,天马行空,随意输入,正好适合本案例中,我们对于关键字的确定,因为我们也不确定关键字的类型

划重点,今天过滤功能的重点在这里

If s Like "*" & s1 & "*" Then Cells(i, 1) = s i = i + 1 End If

看过我第三系列函数篇的小伙伴们应该有印象,这是like()函数的使用方法,判断当前字符串中是否存在我们指定的关键字

Excel VBA之函数篇-3.13区分订单号再进阶,是否含有某元素为标准

如果文字中不存在关键字的话,是直接跳过写入的部分的

关键字可以在开头,也可以在中间,也可以在结尾,这个不受限制的

================================================

(0)

相关推荐