本文最后由 Demo Marco 更新于 2025-02-23. 如有资源已失效,请留言反馈,将会及时处理。 【推荐:不翻墙访问被墙网站方法 | 自用高速专线机场 | 高速CN2线路 | 高质量家宽住宅IP】
Excel是真牛逼
最近有一批数据要处理,应该也算是数据清洗的一类。上万条的信息,想要从中找到准确的信息,然后再做修改,简直是令人头疼。
这个时候Excel 就有非常大的能量。汇聚成表格之后,可以利用“搜索”“替换”等等功能,完成批量操作。
如果数据里面有非常多不同类型的内容,那么可以使用Excel的宏模块。
宏模块里面可以用公式,或者VBA代码。之前没有想到过,这次用了一下,觉得非常惊艳。
Excel+AI
而这些代码则是出自ChatGPT之手。只要我们讲出我们搜索或者操作的条件,AI就可以帮我我们输出生成Code代码。
测试了一下XAI和ChatGPT,同样都可以有效的完成VBA的编码生成。
实测
举个例子:
批量删除某个标签之间的内容,比如<img src=””/>”:
如果你也想删除 <img src="" />
标签本身,而不仅仅是清理其中的内容,你可以修改代码,使其不仅清除标签中的内容,还能删除标签本身。
修改后的 VBA 代码:
此代码会删除所有 <img src="...">
标签,保留标签之间的其他内容:
vba复制编辑Sub CleanAndRemoveImgTag()
Dim cell As Range
Dim startTag As String
Dim endTag As String
Dim startPos As Long
Dim endPos As Long
Dim cleanedText As String
startTag = "<img src="""
endTag = """ />"
For Each cell In Selection
' 查找 <img src=" 和 " /> 之间的内容
startPos = InStr(cell.Value, startTag)
endPos = InStr(cell.Value, endTag)
' 如果找到了 <img src="" 和 "" />,就删除它
While startPos > 0 And endPos > startPos
' 删除整个 <img src="" /> 标签
cell.Value = Left(cell.Value, startPos - 1) & Mid(cell.Value, endPos + Len(endTag))
' 重新查找新的 <img src="" 标签(如果有多个)
startPos = InStr(cell.Value, startTag)
endPos = InStr(cell.Value, endTag)
Wend
Next cell
End Sub
代码解释:
startTag = "<img src=""
和endTag = """ />"
:仍然是查找<img src=""
和"/>
的起始和结束位置。startPos = InStr(cell.Value, startTag)
和endPos = InStr(cell.Value, endTag)
:查找每个标签的起始和结束位置。While startPos > 0 And endPos > startPos
:这个循环确保可以处理单元格中的多个<img src="" />
标签。每次找到一个标签后,它会删除整个标签,然后继续检查下一个标签。cell.Value = Left(cell.Value, startPos - 1) & Mid(cell.Value, endPos + Len(endTag))
:这一行删除标签中的<img src="" />
部分,保留标签之前和之后的内容。
使用步骤:
- 选择你要编辑的单元格或列。
- 打开 VBA 编辑器,插入该代码并运行它。
- 代码会在选中的单元格中删除所有
<img src="" />
标签,并且删除标签中的内容。
这样,所有符合 <img src="" />
模式的标签和其中的内容都将被删除。
现在才发现Excel是如此的厉害!结合AI,可以让数据处理的速度和效率双重提升,将你我从重复性劳动中解救出来!推荐!