求VBA高手帮助,给excel表格中所有内容加单引号,下面的代码是加双引号的,求改写~!

Function GetFNameFromFStr(sFileName As String) As String
Dim sFileStr As String
Dim lFindPoint As Long
Dim lStrLen As Long

If (InStrRev(sFileName, ".")) Then
'从文字列的右端检索".",从左端的位置取得
lFindPoint = InStrRev(sFileName, ".")

'除掉扩展名,取得文件名
sFileStr = Left(sFileName, lFindPoint - 1) + ".csv"

GetFNameFromFStr = sFileStr
Else
GetFNameFromFStr = sFileName
End If

End Function

Public Sub 加单引号(sh As Worksheet)
Dim c As Range, tmp
With sh.UsedRange
For Each c In .Cells
tmp = c.Value
If tmp <> "" Then
'如果是数字内容,则加 单引号
'可以删除条件,不管是否数字都加上
If IsNumeric(tmp) Then c.Value = "'" & tmp
End If
Next
End With
End Sub
--------
调用时加参数,参数是要操作的工作表,比如:
Public Sub myTest()
Dim sh As Worksheet
Set sh = ActiveSheet
Call 加单引号(sh)
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-15
明显上面代码不是干这事的啊
sub 单引号()
for i=1 to 10 '行数,你自己根据修改
for j=1 to 10 '列数,你自己根据修改
cells(i,j)="'" & cells(i,j)
next j
next i

end sub追问

我是想给整张表格内所有有数据的单元格里的内容,在前后加上单引号,没有内容的单元格就不加,貌似您这个里面需要加if函数吧……

追答

sub 单引号()
for i=1 to 10 '行数,你自己根据修改
for j=1 to 10 '列数,你自己根据修改
ifcells(i,j)=“” then
cells(i,j)="'" & cells(i,j)
endif
next j
next i

end sub

第2个回答  2011-07-15
这个是改扩展名的
相似回答