如何使用vba删除报价?

我有:

nuid="!,@,az" 

但是我不想要双引号。 我想nuid =!,@,az

build议我删除开始和结束引号

这是我的代码:

 sub highlight(nuid as string) dim sh3 as worksheet Set sh3 = Thisworkbook.Worksheets("Sheet1") sh3.Select Cells.Find("User ID").Select ActiveCell.Offset(1, 0).Select nuid = Replace(nuid, """", "") Set rn = sh3.UsedRange k = rn.Rows.Count + rn.Row - 1 For x = 1 To k If ActiveCell.Value Like nuid Then Selection.Interior.Color = vbYellow Else Selection.Interior.ColorIndex = xlNone End If ActiveCell.Offset(1, 0).Select 'moves activecell down one row. Next end sub 

从我的gui中,我将input将存储在variablesnuid中的特殊字符。我只需要特殊字符而不是周围的引号

你也可以尝试:

nuid = Replace(nuid, Chr(34), vbNullString)

但是,如果引号不是第一个也不是最后一个字符,则可能有问题,例如: "!,@,"az"

在这种情况下,你可以尝试:

nuid = Mid(nuid, 2, Len(nuid) - 1)这会切断第一个和最后一个字符

编辑:在我看来,你看到的报价表明一个variablesstring的types。

在这里输入图像说明

编辑2 – 观看窗口

在这里输入图像说明

结果:

在这里输入图像说明

Edit3 – 与子4 Sagi:

 Sub Highlight4Sagi(SpecChar As String) Dim Column As Integer SpecChar = "!@#" ThisWorkbook.Worksheets(1).Select Column = Cells.Find("User ID").Column LastRow = Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row For i = 2 To LastRow 'loop each row in column "User ID" For j = 1 To Len(SpecChar) 'loop every specchar: ! and @ and # and find him in each cells If InStr(1, Cells(i, Column), Mid(SpecChar, j, 1)) > 0 Then Cells(i, Column).Interior.ColorIndex = 6 Exit For Else Cells(i, Column).Interior.ColorIndex = 0 End If Next j Next i End Sub 

基本上逃脱一个"""

下面应该有所帮助

 nuid = replace (nuid, """", "") 

码产量

另外的变体

 Sub highlight(nuid As String) Dim sh3 As Worksheet, Cl&, Lrow&, x&, oCell As Range Set sh3 = ThisWorkbook.Worksheets("Sheet1") Cl = sh3.Cells.Find("User ID").Column Frow = sh3.Cells.Find("User ID").Row + 1 Lrow = Cells.Find("*", , , , xlByRows, xlPrevious).Row For Each oCell In sh3.Range(Cells(Frow, Cl), Cells(Lrow, Cl)) If oCell.Value <> "" Then For x = 1 To Len(nuid) If oCell.Value Like "*" & Mid(nuid, x, 1) & "*" Then oCell.Interior.Color = vbYellow Exit For Else oCell.Interior.Color = xlNone End If Next x End If Next oCell End Sub 

产量

在这里输入图像说明

但是如果你需要find,例如包含任何小写字母[az]的单元格,那么应该使用另一个方法