excel - 删除特殊字符
问题描述
我在这里有一个用于 excel 的 VB 代码,它删除了特殊字符。我的问题是为什么要删除一些特殊字符,例如 c 列中的一些特殊字符没有改变或被删除。
代码:
Sub Invalid()
Dim e
For Each e In Array("–", "€", "â", "¦", "Â", "®", "®", "—", "Ã", "ña", "±a", "¡c", "±", "'", "–", "ó", "​", "…", "®", "‹")
If e Like "[–]" Then
Columns("a").Replace "–", ""
Columns("b").Replace "–", ""
Columns("c").Replace "–", ":"
Columns("d").Replace "–", ""
Columns("e").Replace "–", ":"
Else
If e Like "[ó]" Then
Columns("a").Replace "ó", ""
Columns("b").Replace "ó", ""
Columns("c").Replace "ó", "o"
Columns("d").Replace "ó", ""
Columns("e").Replace "ó", ""
Else
If e Like "[ña]" Then
Columns("a").Replace "ña", ""
Columns("b").Replace "ña", ""
Columns("c").Replace "ña", ""
Columns("d").Replace "ña", ""
Columns("e").Replace "ña", ""
Else
If e Like "[​]" Then
Columns("a").Replace "​", ""
Columns("b").Replace "​", ""
Columns("c").Replace "​", ""
Columns("d").Replace "​", ""
Columns("e").Replace "​", ""
Else
If e Like "[…]" Then
Columns("a").Replace "…", ""
Columns("b").Replace "…", ""
Columns("c").Replace "…", ""
Columns("d").Replace "…", ""
Columns("e").Replace "…", ""
Else
If e Like "[®]" Then
Columns("a").Replace "®", ""
Columns("b").Replace "®", ""
Columns("c").Replace "®", ""
Columns("d").Replace "®", ""
Columns("e").Replace "®", ""
Else
If e Like "[€]" Then
Columns("a").Replace "€", ""
Columns("b").Replace "€", ""
Columns("c").Replace "€", ""
Columns("d").Replace "€", ""
Columns("e").Replace "€", ""
Else
If e Like "[â]" Then
Columns("a").Replace "â", ""
Columns("b").Replace "â", ""
Columns("c").Replace "â", ""
Columns("d").Replace "â", ""
Columns("e").Replace "â", ""
Else
If e Like "[¦]" Then
Columns("a").Replace "¦", ""
Columns("b").Replace "¦", ""
Columns("c").Replace "¦", ""
Columns("d").Replace "¦", ""
Columns("e").Replace "¦", ""
Else
If e Like "[Â]" Then
Columns("a").Replace "Â", ""
Columns("b").Replace "Â", ""
Columns("c").Replace "Â", ""
Columns("d").Replace "Â", ""
Columns("e").Replace "Â", ""
Else
If e Like "[®]" Then
Columns("a").Replace "®", ""
Columns("b").Replace "®", ""
Columns("c").Replace "®", ""
Columns("d").Replace "®", ""
Columns("e").Replace "®", ""
Else
If e Like "[®]" Then
Columns("a").Replace "®", ""
Columns("b").Replace "®", ""
Columns("c").Replace "®", ""
Columns("d").Replace "®", ""
Columns("e").Replace "®", ""
Else
If e Like "[—]" Then
Columns("a").Replace "—", ""
Columns("b").Replace "—", ""
Columns("c").Replace "—", ""
Columns("d").Replace "—", ""
Columns("e").Replace "—", ""
Else
If e Like "[Ã]" Then
Columns("a").Replace "Ã", ""
Columns("b").Replace "Ã", ""
Columns("c").Replace "Ã", ""
Columns("d").Replace "Ã", ""
Columns("e").Replace "Ã", ""
Else
If e Like "[±a]" Then
Columns("a").Replace "±a", ""
Columns("b").Replace "±a", ""
Columns("c").Replace "±a", ""
Columns("d").Replace "±a", ""
Columns("e").Replace "±a", ""
Else
If e Like "[¡c]" Then
Columns("a").Replace "¡c", ""
Columns("b").Replace "¡c", ""
Columns("c").Replace "¡c", ""
Columns("d").Replace "¡c", ""
Columns("e").Replace "¡c", ""
Else
If e Like "[±]" Then
Columns("a").Replace "±", ""
Columns("b").Replace "±", ""
Columns("c").Replace "±", ""
Columns("d").Replace "±", ""
Columns("e").Replace "±", ""
Else
If e Like "[']" Then
Columns("a").Replace "'", ""
Columns("b").Replace "'", ""
Columns("c").Replace "'", ""
Columns("d").Replace "'", ""
Columns("e").Replace "'", ""
Else
If e Like "[–]" Then
Columns("a").Replace "–", ""
Columns("b").Replace "–", ""
Columns("c").Replace "–", ""
Columns("d").Replace "–", ""
Columns("e").Replace "–", ""
Else
If e Like "[‹]" Then
Columns("a").Replace "‹", ""
Columns("b").Replace "‹", ""
Columns("c").Replace "‹", ""
Columns("d").Replace "‹", ""
Columns("e").Replace "‹", ""
Else
If e Like "[–]" Then
Columns("a").Replace "–", ""
Columns("b").Replace "–", ""
Columns("c").Replace "–", ":"
Columns("d").Replace "–", ""
Columns("e").Replace "–", ""
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
Next
End Sub
解决方案
更短:
Sub Invalid()
Dim e
For Each e In Array("–", "€", "â", "¦", "Â", "®", "®", "—", _
"Ã", "ña", "±a", "¡c", "±", "'", "–", "ó", _
"​", "…", "®", "‹")
Select Case e
Case "–"
Range("A1:B1,D1").EntireColumn.Replace e, ""
Range("C1,E1").EntireColumn.Replace e, ":"
Case "ó"
Range("A1:B1,D1:E1").EntireColumn.Replace e, ""
Range("C1").EntireColumn.Replace e, "o"
Case "–"
Range("A1:B1,D1:E1").EntireColumn.Replace e, ""
Range("C1").EntireColumn.Replace e, ":"
Case Else
Range("A:E").Replace e, ""
End Select
Next e
End Sub
推荐阅读
- listview - 根据 xamarin 表单中网格内的内容调整列表视图的高度
- php - php:如果没有内容,如何隐藏列表项
- cakephp - 请求 请求的资源上不存在“Access-Control-Allow-Origin”标头仅适用于 POST 请求
- scala - 如何在 akka http 上设置 file-io-dispatcher?
- python - 我如何连接本地数据库?
- python - Odoo 接受 1 到 2 个位置参数,但给出了 3 个
- java - 为什么我的 HTTPPost 收到 404 响应?
- date - 从日期字符串列表中获取最大日期
- java - 在客户端列出打印机 (Java)
- sql-server - 使用声明变量为更新创建 From 语句或 Set 语句