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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vba 如何去掉返回结果两端的双引号?相关的知识,希望对你有一定的参考价值。

如:在得到的返回结果为"1,2,4,8,13",而下一步要用的是1,2,4,8,13。如何去掉返回结果两端的双引号?
具体代码如下:
Sub Macro1()
i = 0
j = 0
F = 0
For i = 1 To 13
Windows("分组另存工具.xls").Activate
Sheets(2).Select
A = Cells(i + 1, 2)
B = Cells(i + 1, 3)
C = Application.Sum(Range(Cells(1, 3), Cells(i, 3)))
E = Cells(i + 1, 1)
Sheets(1).Select
Cells(i + 1, 1) = E
Cells(i + 1, 2) = A
F = 3
For j = 1 To B + 1
Windows("分组另存工具.xls").Activate
Sheets(1).Select
G = j + 3 + C + i
F = F & "," & G
Cells(i + 1, 3) = F
Next j
Windows("tjglib.xls").Activate
Sheets(Array(F)).Copy 到此就出现下标越界的提示了!
ChDir "D:\tj"
ActiveWorkbook.SaveAs Filename:="D:\tj\ B.xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
Next i
End Sub

参考技术A If Left(s, 1) = Chr(34) And Right(s, 1) = Chr(34) Then
s = Mid(s, 2, Len(s) - 2)
End If
参考技术B 具体问题具体处理。HI我 参考技术C 能否附上代码?你是通过函数什么返回的?MSGBOX?? 参考技术D allchn正解。应该不会有了,除非LZ的问题有前提没有交待清楚

存储过程中执行sql语句时如何转义双引号?

我的sqlserver版本2008 我想实现的效果是 将查出来的数据每个表的每个列中的数据前后都去掉双引号,
因为我的列数据都是这个样子。如下示例
=====================================================
id | name |
“f325sd” “asdfsdga”
“f3234d” “asd45dga”
=====================================================
而在最后这个sql中的双引号一直有问题,无法转义。。请大家提供一个好的解决方案
如果对于去掉数据中前后双引号有更好的办法还请不吝赐教

双引号不用转,如果里面有单引号,那就在前面再加一个单引号
如:select replace('"dfdf''df"','"','')
用全角的演示一下 select replace( ‘“abc ’’ de ”’,‘“”’,‘’)追问

你这种写法是没问题的,但是我这是在存储过程中执行的,就会报错,对于第二个参数中不能填写双引号,否则颜色你看也不对。

追答

那是因为你单引号没转义,应该是
@columnname+',''"'','''')'
最外层单引号表示括起来的是串,而串里若有单引号,需要在前面再加一个单引号进行转义
譬如我前面那个select,变成动态的就是
exec('select replace(''"dfdfdf"'',''"'','''')')

参考技术A 你好!
exec('update '+@tableName+' set '+@columnName+' = replace('+@columnName+',''"'','''')')嵌套拼接字符中的单引号处理很麻烦的
仅代表个人观点,不喜勿喷,谢谢。
参考技术B exec('update '+@tableName+' set '+@columnName+' = replace('+@columnName+',''"'','''')')

嵌套拼接字符中的单引号处理很麻烦的

参考技术C 改成这样试试:
exec('update '+@tableName+' set '+@columnName+' = replace('+@columnName+',''"'','''')')追问

提示为字符串 ‘)’ 后的引号不完整 不行 编译正常 无法执行

追答

可能是你没复制完整的原因,如果只复制了下面这部分,就会报出你遇到的问题
exec('update '+@tableName+' set '+@columnName+' = replace('+@columnName+',''"'','''')

以上是关于vba 如何去掉返回结果两端的双引号?的主要内容,如果未能解决你的问题,请参考以下文章

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

vb去掉字符串中的双引号

浮点值返回swift中[String:AnyObject]的双引号

spring mvc强制返回类型为json时怎么去除前后的双引号

Vba 字符串中的引号“ 怎样处理

Java - '\' 未用于转义字符串中的双引号“