標題:
[發問]
儲存格內的多段文字字串變粗
[打印本頁]
作者:
wind6424
時間:
2019-12-4 12:45
標題:
儲存格內的多段文字字串變粗
有一份文件表格內容類似下面得敘述,
因為儲存格很多,
我想要用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:
[attach]31502[/attach]
作者:
hcm19522
時間:
2019-12-4 14:36
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)&")"))
作者:
stillfish00
時間:
2019-12-4 17:44
本帖最後由 stillfish00 於 2019-12-4 17:53 編輯
回復
1#
wind6424
Sub Test()
MyForm Sheets("Sheet1").[A2]
End Sub
複製代碼
Sub MyForm(rng As Range)
Dim text As String
Dim re As Object: Set re = CreateObject("vbscript.regexp")
With re
.Pattern = "^\d+([.]\d+)+\s.*"
.MultiLine = True
.Global = True
End With
For Each cell In rng
text = cell.Value
For Each mch In re.Execute(text)
cell.Characters(Start:=mch.FirstIndex, Length:=mch.Length).Font.Bold = True
Next
Next
End Sub
複製代碼
作者:
wind6424
時間:
2019-12-5 10:26
回復
2#
hcm19522
感謝您的協助,但是抱歉我看不懂您的意思?
作者:
wind6424
時間:
2019-12-5 10:34
回復
3#
stillfish00
謝謝大大,我在試看看
另外可以跟您請教這個程式碼內 .Pattern = "^\d+([.]\d+)+\s.*" 後面 ^\d+([.]\d+)+\s.* 這些字串的意思?
作者:
stillfish00
時間:
2019-12-5 11:00
回復
5#
wind6424
翻譯過來就是匹配開頭的第一組字是以至少一個 . 分隔數字的字組。
有興趣可以參考一下
http://www.study-area.org/coobila/tutorial_441.html
作者:
wind6424
時間:
2019-12-5 18:15
本帖最後由 wind6424 於 2019-12-5 18:16 編輯
回復
6#
stillfish00
stillfish00 大
您這網址讓我有找到寶庫的感覺,
真的非常感謝指點.
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)