麻辣家族討論版版's Archiver

peter95 發表於 2020-10-26 02:07

➽➽請問如何刪除(前面三碼的數字)

如何刪除(數字的前面三碼)

我有一堆數字
[size=7][color=Blue][b]刪除前面三碼的數字[/b][/color][/size]
請問我該怎麼處理

[size=6][color=Red]可以做成VBA做成嗎??[/color][/size]
或是如何處理

[b][color=Red][size=6]非常感謝大家幫忙,謝謝[/size][/color][/b]

[b][size=6]附上說明圖片[/size][/b]
[attach]32653[/attach]

[b][size=7][color=Red]附上檔案[/color][/size][/b]
[attach]32654[/attach]

jcchiang 發表於 2020-10-26 12:30

[b]回復 [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=113450&ptid=22825]1#[/url] [i]peter95[/i] [/b]

Sub ex()
Dim a As Object
Dim x%, QQ%
For Each a In Range([D10], [O10].End(4))
   For x = 1 To Len(a)
      If IsNumeric(Mid(a, x, 1)) = True Then QQ = QQ + 1
      If QQ = 3 Then a.Value = WorksheetFunction.Replace(a, 1, x, ""): QQ = 0: Exit For
   Next
Next

peter95 發表於 2020-10-26 13:22

[b]回復 [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=113452&ptid=22825]2#[/url] [i]jcchiang[/i] [/b]


感謝大大幫忙
解決困擾我很久的問題

現在變得好輕鬆
感謝

samwang 發表於 2020-10-27 16:28

[b]回復 [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=113450&ptid=22825]1#[/url] [i]peter95[/i] [/b][code]Sub tt()
Dim Arr, i&
    Arr = Range("D10:O" & Range("D10").End(4).Row)
    For i = 1 To UBound(Arr)
        For j = 1 To UBound(Arr, 2)
            If InStr(Arr(i, j), "-") > 0 Then
                Arr(i, j) = Val(Trim(Mid(Arr(i, j), 6, 7)))
            Else
                Arr(i, j) = Val(Trim(Mid(Arr(i, j), 5, 7)))
            End If
        Next
    Next
    Range("D10").Resize(UBound(Arr), UBound(Arr, 2)) = Arr
End Sub[/code]

准提部林 發表於 2020-10-27 17:20

Sub TEST()
Dim Arr, R&, T$, C&, K%
With Range([D10], [O65536].End(3))
     Arr = .Value
     For C = 1 To .Columns.Count
     For R = 1 To .Rows.Count
         T = Arr(R, C)
         If T Like "*.*.*" Then Arr(R, C) = Mid(T, IIf(Left(T, 1) = "-", 6, 5)): K = 1
     Next R
     Next C
     If K = 1 Then .Value = Arr
End With
End Sub

hcm19522 發表於 2020-11-1 10:42

[url]https://blog.xuite.net/hcm19522/twblog/589440040[/url]

peter95 發表於 2020-11-12 14:09

感謝大家幫忙,已解決
感恩

Andy2483 發表於 2023-6-2 11:45

謝謝論壇,謝謝各位前輩
後學藉此帖練習陣列,學習方案如下,請各位前輩指教

執行結果:
[attach]36502[/attach]


Option Explicit
Sub TEST_1()
Dim Brr, i&, j%, xA As Range
[color=SeaGreen]'↑宣告變數[/color]
Set xA = Range([D10], [O65536].End(3)): Brr = xA
[color=SeaGreen]'↑令xA變數是D~O欄儲存格,令Brr變數是 二維陣列,以xA變數值帶入[/color]
For i = 1 To UBound(Brr)
[color=SeaGreen]'↑設陣列縱向迴圈[/color]
   For j = 1 To UBound(Brr, 2)
[color=SeaGreen]   '↑設陣列橫向迴圈[/color]
      Brr(i, j) = Mid(Replace(Brr(i, j), "-", ""), 5)
[color=SeaGreen]      '↑令陣列值去除"-"後,取第5字(含)後的字串[/color]
   Next
Next
xA = Brr
[color=SeaGreen]'↑令xA變數值是 Brr陣列值[/color]
Set xA = Nothing: Erase Brr
[color=SeaGreen]'↑令釋放變數[/color]
End Sub

頁: [1]

麻辣家族討論版版為 麻辣學園 網站成員  由 昱得資訊工作室 © Since 1993 所提供