簡體   English   中英

如何使用Excel宏更改(格式化)所選文本,而不是更改整個所選單元格

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM