二維碼
        企資網

        掃一掃關注

        當前位置: 首頁 » 企資快訊 » 匯總 » 正文

        Excel_VBA學習筆記_單元格的chara

        放大字體  縮小字體 發布日期:2023-02-24 11:58:36    作者:百里安苛    瀏覽次數:89
        導讀

        單元格的.Characters 屬性,常用于取關鍵字,給關鍵字標注用于區別的顏色。語法:Range.Characters(Start, Length);Start 起始位置,表示從第幾個字符起;Length 取幾位字符。.Characters返回的是一個對象。示例:

        單元格的.Characters 屬性,常用于取關鍵字,給關鍵字標注用于區別的顏色。

        語法:Range.Characters(Start, Length);Start 起始位置,表示從第幾個字符起;Length 取幾位字符。.Characters返回的是一個對象。

        示例:將標紅的字符取出,并分段顯示。

        一般的處理思路:是用循環判斷單個字符顏色,再判斷紅色字符是否連續,有多長,再輸出。用到循環嵌套,多重判斷。

        Set Rng = Range("A1") 有紅色 = False 輸出計數 = 1 For i = 1 To Len(Rng.Value) n = i 'i 值是標紅的起始位置,(n-1)值記錄連續標紅字符的終止位置 Do While Rng.Characters(n, 1).Font.Color = vbRed n = n + 1 有紅色 = True If n > Len(Rng.Value) Then '防止n 大于字符串長度出錯 Exit Do End If Loop If 有紅色 Then '出現標紅字符,進行輸出 Cells(輸出計數, "C") = Mid(Rng.Value, i, n - i) 'n-i 就是標紅字符的長度 輸出計數 = 輸出計數 + 1 有紅色 = False i = n - 1 'i值跳到標紅字符最后,避免重復判斷 End If Next i

        其實,反向思考下,將黑色字符都換成“空格”,紅色字符就留下了,再以“空格”為分隔,不就得到了所需。這個思路以處理黑色字符為思路。下面代碼明顯簡單清晰多了。

        Set Rng = Range("A1") For i = 1 To Len(Rng.Value) If Rng.Characters(i, 1).Font.Color = vbRed Then t = t & Rng.Characters(i, 1).Text '記錄下紅色的字符 Else t = t & " " '黑色的字符都被換成空格 End If Next i t = WorksheetFunction.Trim(t) '調用工作表函數 Trim 對空格進行處理 arr = Split(t) Range("b1").Resize(UBound(arr) + 1, 1) = Application.Transpose(arr)

        本示例意在拓展思維,當直接處理數據很麻煩時,反方向考慮下,說不定有奇效。

        附:VBA 里去“空格”函數 Trim,LTrim,RTrim

        VBA 中Trim 去除字符串頭尾部的空格,中間的空格不進行任何處理;

        LTrim 本意去掉左邊的空格,就是去除位于字符串頭部的空格;

        RTrim 本意去掉右邊的空格,就是去除位于字符串尾部的空格。

        而工作表函數Trim,不光去除頭尾部的空格,還將字符串中間的連續空格合成 1個空格。

        見下圖中t1 、 t2值

         
        (文/百里安苛)
        免責聲明
        本文僅代表作發布者:百里安苛個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理郵件:weilaitui@qq.com。
         

        Copyright ? 2016 - 2025 - 企資網 48903.COM All Rights Reserved 粵公網安備 44030702000589號

        粵ICP備16078936號

        微信

        關注
        微信

        微信二維碼

        WAP二維碼

        客服

        聯系
        客服

        聯系客服:

        在線QQ: 303377504

        客服電話: 020-82301567

        E_mail郵箱: weilaitui@qq.com

        微信公眾號: weishitui

        客服001 客服002 客服003

        工作時間:

        周一至周五: 09:00 - 18:00

        反饋

        用戶
        反饋

        主站蜘蛛池模板: 中文字幕精品亚洲无线码一区 | 国产成人精品一区二三区在线观看| 91福利视频一区| 精品欧洲av无码一区二区| 精品久久一区二区三区| 高清一区二区三区| 国产成人一区二区精品非洲 | 中文字幕无线码一区| 在线精品国产一区二区| 中文字幕AV一区中文字幕天堂 | 国产乱码一区二区三区爽爽爽| 韩国一区二区三区视频| 国产韩国精品一区二区三区久久| 能在线观看的一区二区三区| 国产福利一区二区三区在线观看| 乱精品一区字幕二区| 国产av成人一区二区三区| 区三区激情福利综合中文字幕在线一区 | 国产在线一区二区综合免费视频| 无码人妻精品一区二区蜜桃AV| 日韩一区二区三区电影在线观看| 亚洲AV日韩AV一区二区三曲| 精品人妻系列无码一区二区三区| 亚洲乱码国产一区三区| 亚洲欧洲∨国产一区二区三区| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 国产亚洲综合一区柠檬导航| 国产一区二区在线视频| 国产高清视频一区三区| 国产亚洲一区二区精品| 色偷偷久久一区二区三区| 亚洲香蕉久久一区二区| 国产精品无码一区二区三区不卡 | 日韩精品久久一区二区三区| 天天躁日日躁狠狠躁一区| 免费在线观看一区| 亚洲无人区一区二区三区| 99久久人妻精品免费一区| 亚洲综合无码一区二区痴汉| 日本一区二三区好的精华液| 日韩A无码AV一区二区三区|