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

Vba 从长度超过20个字符的行中删除前两个引号,vba,excel,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

我已经有几年没有写过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
数据:

A00408,“UXS”,201309,10x64100110 U0299400,“200X601”,“E”,“N”,“38418”,“064X09”,“00”,“,,,,,,,,,” ,,,,,,,,,,,,,,,S72,MXRE0042,S72,MRE0047,S72,MRE0047 U027514100,“201613”,“E”,“N”,“66620”,“
21011X、、、、、、、、、、、、、、、、、、、、、E、、、、S72、MRE00432 S72,“MRE00457”S72,“MRE00417”U027513770602,“20X12”,“E”,“N”,“40761” 12775X、、、、、、、、、、、、、、、、、E、、、、、S72、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

这是一篇非常新的帖子,让你打开你的文本文件:每一行文本都会被拉入字符串变量
textline
。然后你可以用
Len(textline)检查字符串的长度
如果大于20,请使用
InStr
检查其中是否有要删除的引号。但是,我不确定一旦引号消失后您想做什么。您想写回文本文件还是将其放入Excel表格?谢谢,我只想删除引号,所以其他一切都保持原样。您有吗e一些示例数据供我们使用?我们需要一个文本示例。文本是否总是如此结构化?您可以在第一个引号之前使用左引号,然后在第二个引号中使用右引号,在引号中使用中引号。基本上是左引号和中引号和右引号,同时删除引号。