人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 辦公軟件教程 > 詳細頁面

共享兩段excel vba 分列代碼完成不規則數據源的分列

共享兩段excel vba 分列代碼完成不規則數據源的分列

更新時間:2024-01-21 文章作者:未知 信息來源:網絡 閱讀次數:

Microsoft Excel是Microsoft為使用Windows和Apple Macintosh操作系統的電腦編寫的一款電子表格軟件。直觀的界面、出色的計算功能和圖表工具,再加上成功的市場營銷,使Excel成為最流行的個人計算機數據處理軟件。

excel vba 分列多用于一般常規的分列操作完成不了的情況。

  Excel內置的分列,僅用于有規律的數據進行分列。比如下面的截圖,這樣的數據源,分列就可以考慮使用excel vba 分列完成。

excel vba 分列

  A列數據源,要將漢字和數字分列后的效果如B:D列。

  下面是兩段excel vba 分列的代碼,案例和答案來自論壇版主。

  第一段excel vba 分列的代碼:

Sub vba分列()
??? Dim oJs As Object, rng As Range
??? Set oJs = CreateObject("ScriptControl"): oJs.Language = "JScript"
??? oJs.eval "function gets(str){return str.replace(/(\d+)/,' $1 ')}"
??? For Each rng In Range("A2", [A65536].End(3))
??????? rng(1, 2).Resize(1, 3) = Split(oJs.codeobject.gets(rng.Value), " ")
??? Next
End Sub


  第二段excel vba 分列的代碼:

Sub vba分列()
??? Dim arr, i%, brr(), sma As Object
??? arr = Range("a2:a" & Cells(Rows.Count, 1).End(3).Row)
??? ReDim brr(1 To UBound(arr), 1 To 3)
??? With CreateObject("vbscript.regexp")
??????? .Global = True
??????? .Pattern = "([^\d]+)(\d+)(.+)"
??????? For i = 1 To UBound(arr)
??????????? Set sma = .Execute(arr(i, 1))(0).submatches
??????????? brr(i, 1) = sma(0)
??????????? brr(i, 2) = sma(1)
??????????? brr(i, 3) = sma(2)
??????? Next
??? End With
??? Range("b2", Cells(Rows.Count, Columns.Count)).ClearComments
??? Range("b2").Resize(UBound(brr), UBound(brr, 2)).NumberFormat = "@"
??? Range("b2").Resize(UBound(brr), UBound(brr, 2)) = brr
??? Set sma = Nothing
End Sub

  代碼使用方法,在excel中,按下ALT+F11,打開VBE編輯器,單擊插入——模塊,復制上面任意一段代碼,按F5鍵運行即可完成分列。


Excel整體界面趨于平面化,顯得清新簡潔。流暢的動畫和平滑的過渡,帶來不同以往的使用體驗。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 朝阳区| 洪湖市| 安平县| 定襄县| 开平市| 二手房| 改则县| 页游| 屏东县| 英吉沙县| 涟水县| 开远市| 疏附县| 余干县| 皮山县| 蓬安县| 张掖市| 永安市| 宁晋县| 大丰市| 舟山市| 秦安县| 台北市| 阳东县| 横峰县| 湘潭市| 曲松县| 随州市| 盐池县| 乡城县| 寻甸| 汕头市| 徐闻县| 芷江| 衡山县| 临江市| 哈密市| 长寿区| 周至县| 西宁市| 磐石市|