簡體   English   中英

VBA在保存工作簿之前刪除特殊字符

[英]VBA to remove special characters before saving workbook

我發現此功能可以刪除特殊字符。

Function Remove_Characters(s As String) As String
Static RegEx As Object
    If RegEx Is Nothing Then
        Set RegEx = CreateObject("VBScript.RegExp")
        With RegEx
        .Global = True
        .Pattern = "\\|/|:|\*|""|\?|<|>\|| "
        End With
    End If
Remove_Characters = RegEx.Replace(s, "")
End Function

我想知道的是在保存工作簿之前,如何使用它自動刪除某些單元格區域(B47:L47,B51:L148)中的所有特殊字符?

您可能要使用Workbook_BeforeSave事件。 只要有人推送保存,該代碼就會運行。 下一步是遍歷范圍並運行函數。

可以找到類似的答案: Excel VBA-保存之前運行宏

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _ 
        Cancel as Boolean) 
    a = MsgBox("Do you really want to save the workbook?", vbYesNo) 
    If a = vbNo Then Cancel = True 
End Sub

請閱讀我對這個問題的評論。 這應該可以幫助您:

Dim rng As Range, c As Range
Set rng = ThisWorkbook.Worksheets("Arkusz1").Range("B47:L47,B51:L148")
For Each c In rng.Cells
    c.Value = Remove_Characters(c.Value)
Next c

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM