簡體   English   中英

如何刪除修改字符串以從新工作表中刪除字母

[英]How to remove modify a string to remove letters from a new worksheet

因此,我一直在嘗試創建一個宏以格式化打開新工作文件的格式,然后修改1列以從數字字符串中刪除字母(例如20180717a變為20180717)。 我已經嘗試了幾件事並提出了以下代碼,但它似乎確實可以正常工作:

Sub Creating_progress_reports()

    Dim wb As Workbook
    Dim myfilename As String

    myfilename = "xxxx.xlsx"
    Set wb = Workbooks.Open(myfilename)

    Dim str1 As String
    Dim str2 As String
    Dim rngTemp As Range
    Dim rngCell As Range

    str1 = "a"
    str2 = "b"
    str3 = "c"
    str4 = "d"

    With Workbooks("xxxx.xlsx").Sheets("xxxx")
    Set rngTemp = Columns(6).CurrentRegion

    For Each rngCell In rngTemp

    If InStr(1, rngCell, str1) > 0 Then
        rngCell = Replace(rngCell.Value, str1, "")
    End If

    If InStr(1, rngCell, str2) > 0 Then
        rngCell = Replace(rngCell.Value, str2, "")
    End If

    If InStr(1, rngCell, str1) > 0 Then
        rngCell = Replace(rngCell.Value, str3, "")
    End If
        If InStr(1, rngCell, str1) > 0 Then
        rngCell = Replace(rngCell.Value, str4, "")
    End If
    Next rngCell
    End With
End Sub

錯誤是vba代碼通過,但結果不存在。 字符串中的字母仍然存在。

您需要一個. Columns(6).CurrentRegion之前引用Workbooks("xxxx.xlsx").Sheets("xxxx")

With Workbooks("xxxx.xlsx").Sheets("xxxx")
    Set rngTemp = .Columns(6).CurrentRegion

否則,它是指以下之一:

  • 代碼所在的工作Sheet
  • ActiveSheet ,如果代碼不在Sheet

暫無
暫無

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

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