[英]How to change (format) selected text, not whole selected cell using excel macro
例如,單元格“ C3”包含文本“ France is great”。 一些帶有光標的用戶僅突出顯示(選擇)文本“ huge”。 然后使用一些宏,結果應該看起來像“法國很大 ”。 (“巨大”一詞是斜體,粗體和灰色)。 重要的是要說所選單詞的長度總是不同的,我不想只更改所選文本的整個單元格。 我幾乎整個星期都在尋找這個宏,但沒有結果。 謝謝您的幫助。
編輯使其更容易 ...
只是為了好玩,我通過Userform彌補了該功能
打開VBA IDE(鍵:ALT-F11)
添加一個用戶窗體(單擊插入->用戶窗體)
這將為您的項目添加一個新的用戶窗體
通過在“屬性”窗口中編輯“名稱”文本框,將其默認名稱(某些“ UserForm1”等)更改為有意義的名稱(例如“ UserFormFormat”)(將其彈出以顯示F4)
顯示工具箱(單擊查看->工具箱)
抓取一個TextBox控件並放入您的UserForm畫布
抓取一個Button控件並將其放到用戶窗體畫布中
在用戶窗體中選擇按鈕
將按鈕“名稱”(默認為某些“ CommandButton1”)編輯為一些有意義的名稱(例如:“ BtnBold”)
將按鈕“標題”(默認為“ CommandButton1”)編輯為一些有意義的名稱(例如:“粗體”)
雙擊用戶窗體上的按鈕
它將打開其CommandButton1_Click()事件處理程序代碼窗格
插入代碼以具有以下內容
Private Sub BtnBold_Click() With TextBox1 ActiveCell.Characters(.SelStart, .SelLength + 1).Font.Bold = Not ActiveCell.Characters(.SelStart, .SelLength + 1).Font.Bold End With Me.Hide End Sub
轉到您的excel UI
單擊菜單開發->宏
在“宏”對話框中,清除“宏名稱”文本框,插入一個有意義的名稱(例如:“ formatMacro”),然后按“創建”按鈕
這將帶您進入帶有以下代碼的新模塊代碼窗格
Sub formatMacro() End Sub
編輯該代碼,以便擁有
Sub formatMacro() With UserFormFormat .TextBox1.Text = Selection.Value2 .Show End With Unload UserFormFormat End Sub
請按照以下說明進行操作,並在“快速訪問”工具欄中添加按鈕以運行宏
返回您的Excel UI,選擇一個帶有文本的單元格,然后單擊您在QAT中添加的按鈕
看發生了什么...
當然,您可以讓一個按鈕一次執行更多格式化
例如,您可以添加其他帶有“ Bold&Italic”標題的BtnBold_Italic
按鈕,其點擊事件代碼為:
Private Sub BtnBold_Italic_Click()
With TextBox1
With ActiveCell.Characters(.SelStart, .SelLength + 1).Font
.Bold = Not .Bold
.Italic = Not .Italic
End With
End With
Me.Hide
End Sub
等等(您可以一次添加文本大小,顏色...!)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.