vba excel 去掉单元格中隐藏着的双引号或单引号 (多列含有,希望得到一次性清楚)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vba excel 去掉单元格中隐藏着的双引号或单引号 (多列含有,希望得到一次性清楚)相关的知识,希望对你有一定的参考价值。

分列 能全部一次行处理么?
clean函数vba是否可用?
格式设置,自定义如何定义可以实现呢?
……
是否有其它更好的方法?
谢谢!
乘以1或者+0 粘贴,有的列是文字,没有意义,二是单引号又变成了双引号。

Sub mysub()
Dim rng As Range
For Each rng In UsedRange
If InStr(1, rng.Value, "'", vbTextCompare) <> 0 Or InStr(1, rng.Value, Chr(34), vbTextCompare) <> 0 Then
rng = Application.WorksheetFunction.Substitute(rng.Value, "'", "")
rng = Application.WorksheetFunction.Substitute(rng.Value, Chr(34), "")
End If
Next
End Sub追问

f8,运行到第三行中报错。

追答

Sub mysub()
Dim rng As Range
For Each rng In sheets("sheet1")UsedRange '指定某个表格的使用区域
If InStr(1, rng.Value, "'", vbTextCompare) 0 Or InStr(1, rng.Value, Chr(34), vbTextCompare) 0 Then
rng = Application.WorksheetFunction.Substitute(rng.Value, "'", "")
rng = Application.WorksheetFunction.Substitute(rng.Value, Chr(34), "")
End If
Next
End Sub

参考技术A 查找替换功能应该可以实现吧!追问

具体操作呢?能讲一下?谢谢

追答

选中待替换的区域,(ctrl+F) 查找内容 “ 稍后换成‘

替换为 为空

Excel(VBA)下拉列表单个单元格中的多个值

Selecting different values from a data validation drop down list will populate the same cell, i.e. it will create a concatenating list separated by commas.
Amend the "If Target.Column" values to set the columns this applies to.
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. ' Developed by Contextures Inc.
  3. ' www.contextures.com
  4. Dim rngDV As Range
  5. Dim oldVal As String
  6. Dim newVal As String
  7. If Target.Count > 1 Then GoTo exitHandler
  8.  
  9. On Error Resume Next
  10. Set rngDV = Cells.SpecialCells(xlCellTypeAllValidation)
  11. On Error GoTo exitHandler
  12.  
  13. If rngDV Is Nothing Then GoTo exitHandler
  14.  
  15. If Intersect(Target, rngDV) Is Nothing Then
  16. 'do nothing
  17. Else
  18. Application.EnableEvents = False
  19. newVal = Target.Value
  20. Application.Undo
  21. oldVal = Target.Value
  22. Target.Value = newVal
  23. If Target.Column = 3 Then
  24. If oldVal = "" Then
  25. 'do nothing
  26. Else
  27. If newVal = "" Then
  28. 'do nothing
  29. Else
  30. Target.Value = oldVal _
  31. & ", " & newVal
  32. ' NOTE: you can use a line break,
  33. ' instead of a comma
  34. ' Target.Value = oldVal _
  35. ' & Chr(10) & newVal
  36. End If
  37. End If
  38. End If
  39. End If
  40.  
  41. exitHandler:
  42. Application.EnableEvents = True
  43. End Sub

以上是关于vba excel 去掉单元格中隐藏着的双引号或单引号 (多列含有,希望得到一次性清楚)的主要内容,如果未能解决你的问题,请参考以下文章

vba 如何去掉返回结果两端的双引号?

CSV文件的双引号怎么去掉。用记事本打开有双引号,EXCEL打开又没有了,怎么样去掉这个双引号,这是个啥

vba 判断一个单元格中是不是包含某个字符串 有则执行后面的语句

vba去掉单元格中的'

vb去掉字符串中的双引号

使用 VBA 将 Excel 公式写入单元格