返回列表 上一主題 發帖

[發問] 儲存格內的多段文字字串變粗

[發問] 儲存格內的多段文字字串變粗

有一份文件表格內容類似下面得敘述,
因為儲存格很多,
我想要用VBA的方式把儲存格內的多段文字字串變粗 ,
使用 InStr 這個公式找出字串位置後用Characters(x, y).Font.Bold = True 來做,
第一個字串沒問題,但是到第二組字串,一直有問題

主要是想把"4.2.2 FW version check" 這段整個變粗
以下除了前面編號是變數外,後面文字是固定的,
我想把這些文字加編號的部分也變粗,不知道要如何寫程式來處理,
能否有大大可以幫忙要如寫程式處理
4.2.2.1 Test Steps:
4.2.2.2 Test Command:
4.2.2.3 Test Command Feedback:
4.2.2.4 Pass Criteria:

變成如下的顯示
4.2.2 FW version check

4.2.2.1 Test Steps:
Check product firmware version.

4.2.2.2 Test Command:

Test plan1.zip (6.53 KB)

本帖最後由 wind6424 於 2019-12-5 18:16 編輯

回復 6# stillfish00
stillfish00 大
您這網址讓我有找到寶庫的感覺,
真的非常感謝指點.

TOP

回復 5# wind6424
翻譯過來就是匹配開頭的第一組字是以至少一個 . 分隔數字的字組。
有興趣可以參考一下
http://www.study-area.org/coobila/tutorial_441.html
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

TOP

回復 3# stillfish00
謝謝大大,我在試看看
另外可以跟您請教這個程式碼內 .Pattern = "^\d+([.]\d+)+\s.*" 後面 ^\d+([.]\d+)+\s.* 這些字串的意思?

TOP

回復 2# hcm19522
感謝您的協助,但是抱歉我看不懂您的意思?

TOP

本帖最後由 stillfish00 於 2019-12-4 17:53 編輯

回復 1# wind6424
  1. Sub Test()
  2.     MyForm Sheets("Sheet1").[A2]
  3. End Sub
複製代碼
  1. Sub MyForm(rng As Range)
  2.     Dim text As String
  3.     Dim re As Object: Set re = CreateObject("vbscript.regexp")
  4.    
  5.     With re
  6.         .Pattern = "^\d+([.]\d+)+\s.*"
  7.         .MultiLine = True
  8.         .Global = True
  9.     End With
  10.     For Each cell In rng
  11.         text = cell.Value
  12.         For Each mch In re.Execute(text)
  13.             cell.Characters(Start:=mch.FirstIndex, Length:=mch.Length).Font.Bold = True
  14.         Next
  15.     Next
  16. End Sub
複製代碼
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

TOP

G2 可預先下拉到多格 如G99=IF(F2="","",IF(COUNTIFS(B$2:B2,B2,C$2:C2,C2,D$2:D2,D2)=1,IF(COUNTIFS(B$2:B2,B2,C$2:C2,C2)=1,"",LOOKUP(1,0/(B$1:B1=B2)/(C$2:C2=C2),G$1:G1)&"+")&D2&"("&F2&")",D2&"("&SUMIFS(F$2:F2,B$2:B2,B2,C$2:C2,C2,$D$2:D2,D2)&")"))
隨意窩 "EXCEL迷"  blog  或 http://blog.xuite.net/hcm19522/twblog
已收集6200篇 EXCEL函數

TOP

        靜思自在 : 信心、毅力、勇氣三者具備,則天下沒有做不成的事。
返回列表 上一主題