我正在编写一个从单元格复制到测试文件(.sql)的脚本
每次我创建一个新文件时,结果都是双引号,这是不可接受的,因为它必须是一个SQL脚本并且带引号它不会起作用。
Private Sub CommandButton1_Click()
Dim wb As Workbook
Dim saveFile As String
Dim WorkRng As Range
Sheets("TU").Columns(10).Copy
Sheets("TU").Columns(11).PasteSpecial xlPasteValues
On Error Resume Next
Set WorkRng = Range("K3:K20")
Set wb = Application.Workbooks.Add
WorkRng.Copy
wb.Worksheets(1).Paste
saveFile = Application.GetSaveAsFilename(fileFilter:="Text Files (*.sql), *.sql")
wb.SaveAs Filename:=saveFile, FileFormat:=xlTextWindows, CreateBackup:=False
wb.Close
End Sub
有什么想法吗?
答案 0 :(得分:0)
检查了这一点,这并没有像我的单引号那样显示。每个单元格的原始值是否包含单引号?
如果是这种情况,那么您可以在单元格上尝试循环,并在将值粘贴到K列后替换每个引号。
Private Sub CommandButton1_Click()
Dim wb As Workbook
Dim saveFile As String
Dim WorkRng As Range
Dim cell As Range, rng As Range
Set rng = Range("K:K")
Sheets("TU").Columns(10).Copy
Sheets("TU").Columns(11).PasteSpecial xlPasteValues
For Each cell In rng
If cell.Value = "" Then
Exit For
End If
If InStr(1, cell.Value, "'") > 0 Then
cell.Value = Replace(cell.Value, "'", "")
End If
Next cell
On Error Resume Next
Set WorkRng = Range("K3:K20")
Set wb = Application.Workbooks.Add
WorkRng.Copy
wb.Worksheets(1).Paste
saveFile = Application.GetSaveAsFilename(fileFilter:="Text Files (*.sql), *.sql")
wb.SaveAs Filename:=saveFile, FileFormat:=xlTextWindows, CreateBackup:=False
wb.Close
End Sub