从长度超过 20 个字符的行中删除前两个引号

  • 本文关键字:删除 两个 字符 vba excel
  • 更新时间 :
  • 英文 :


我已经几年没有写任何 VBA 了,所以我生疏了,非常感谢一些帮助。

我有一个包含大约 9k 行文本的文件,我需要一个脚本,该脚本将遍历并从任何超过 20 个字符的行中删除前两个引号。

我该怎么做?

更新:

我有这个可以挑选出超过 20 个字符的行,但不确定如何删除前两个引号:

Sub Sanitise()
Dim sh As Worksheet
Dim rw As Range
RowCount = 0
Set sh = ActiveSheet
For Each rw In sh.Rows
    If Len(sh.Cells(rw.Row, 1).Value) > 20 Then
    ' Need to remove the first two quotes
    End If
Next rw
End Sub

数据:

A00,408,"UXS",201309,10X641,00110 U02,99400,"200X601","E","N","38418"," 064X09","00",",",","," ",",","E","," S72,"MXRE0042" S72,"MRE0047" S72,"MRE0047" U02,7514100,"201613","E","N","66620",">
21011X","00","MRE00432"," S72,"MRE00457" S72,"MRE00417" U02,7513770602,"20X12","E","N","40761"," 12775X","00","MRE00432"," S72,"MRE00X47" S72,"MRE004X7">

像这样的东西将遍历 A 列并使用变体数组删除长度超过 20 个字符的字符串中的前两个"

代码将更新的字符串转储到 B 列。

Sub CrankyKohli()
Dim rng1 As Range
Dim lngCnt As Long
Dim x
Set rng1 = Range([a1], Cells(Rows.Count, "A").End(xlUp))
x = rng1.Value
For lngCnt = 1 To UBound(x)
    If Len(x(lngCnt, 1)) > 20 Then x(lngCnt, 1) = Replace(x(lngCnt, 1), """", vbNullString, , 2)
Next
rng1.Offset(0, 1) = x
End Sub

最新更新