Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1392|回复: 5

[已解决]取字符串

[复制链接]
发表于 2022-11-10 00:27 | 显示全部楼层 |阅读模式
谢谢
最佳答案
2022-11-10 14:15
这网站,终于能上了,练习练习

Sub 按钮1_Click()
    Dim vArr, brr
    Dim i%, j%
    vArr = Range("A2").CurrentRegion
    ReDim brr(1 To UBound(vArr), 1 To 3)
    For i = 2 To UBound(vArr)
        brr(i - 1, 1) = Split(vArr(i, 1), "*")(0)
        brr(i - 1, 2) = Split(vArr(i, 1), "*")(1)
        brr(i - 1, 3) = Split(vArr(i, 1), "*")(2)
    Next i
    [c3].Resize(UBound(brr), 3).Clear
    [c3].Resize(UBound(brr), 3) = brr
End Sub

取字符串.rar

9.44 KB, 下载次数: 24

取字符串

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2022-11-10 11:02 | 显示全部楼层
利用Excel的分列功能即可

    Range("C3:E" & [A3].End(xlDown).Row).Clear
    Range("A3:A" & [A3].End(xlDown).Row).TextToColumns Destination:=Range("C3"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
            Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
            :="*", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _
            TrailingMinusNumbers:=True
回复

使用道具 举报

发表于 2022-11-10 14:15 | 显示全部楼层    本楼为最佳答案   
这网站,终于能上了,练习练习

Sub 按钮1_Click()
    Dim vArr, brr
    Dim i%, j%
    vArr = Range("A2").CurrentRegion
    ReDim brr(1 To UBound(vArr), 1 To 3)
    For i = 2 To UBound(vArr)
        brr(i - 1, 1) = Split(vArr(i, 1), "*")(0)
        brr(i - 1, 2) = Split(vArr(i, 1), "*")(1)
        brr(i - 1, 3) = Split(vArr(i, 1), "*")(2)
    Next i
    [c3].Resize(UBound(brr), 3).Clear
    [c3].Resize(UBound(brr), 3) = brr
End Sub
回复

使用道具 举报

发表于 2022-11-11 15:12 | 显示全部楼层
Sub test()
Dim regx As Object
Set regx = CreateObject("vbscript.regexp")
With regx
    .Global = True
    .Pattern = "\d*\.?\d+"
End With
For i = 3 To 6
    Set mat = regx.Execute(Cells(i, 1).Value)
    n = 0
    For Each m In mat
        n = n + 1
        Cells(i, n + 2) = m
    Next
Next

End Sub
回复

使用道具 举报

发表于 2022-11-11 15:44 | 显示全部楼层
Sub fenlie()
Dim i As Integer
Dim arr
arr = [a3:a6]
For i = 1 To UBound(arr)
    brr = Split(arr(i, 1), "*")
       Cells(i + 8, 3).Resize(1, UBound(brr) + 1) = brr
Next
End Sub
回复

使用道具 举报

发表于 2022-12-20 13:13 | 显示全部楼层
本帖最后由 okjok 于 2022-12-20 13:14 编辑
  1. Sub texttocol()
  2.     Range("c3:e6").Clear
  3.     Range("a3:a6").TextToColumns Destination:=Range("c3"),OtherChar:="*"
  4. End Sub
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-2 16:05 , Processed in 0.284428 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表