Прескочи на основното съдържание

Как да намеря и заменя текст в заглавията на диаграмата в Excel?

Автор: Xiaoyang Последна промяна: 2014-06-10

Диаграмите са много полезни за нас в Excel и често им даваме някои заглавия, за да ги идентифицираме. Но опитвали ли сте да намерите и замените текстовата стойност в заглавията на диаграмите в множество диаграми? Днес ще говоря за това как да намеря конкретен текст в множество плочки на диаграма и да ги заменя с друга стойност в Excel.

Намерете и заменете текст в заглавията на диаграмите в Excel с VBA код


стрелка син десен балон Намерете и заменете текст в заглавията на диаграмите в Excel с VBA код

Да предположим, че имате работен лист, който съдържа диаграмите, както е показано на следната екранна снимка, и искате да замените текста януари с февруари само във всички заглавия на диаграмите. Разбира се, можете да ги промените ръчно една по една, но това ще отнеме много време, ако има няколко диаграми. Ето, следният VBA код може да ви помогне да се справите с тази задача.< /p>

doc-replace-chart-titles1

1. Активирайте вашия работен лист, който съдържа диаграмите, които искате да намерите и замените в техните заглавия.

2. Задръжте натиснат ALT + F11 ключове и отваря Прозорец на Microsoft Visual Basic за приложения.

3. Щракнете Поставете > Модулии поставете следния код в Прозорец на модула.

VBA код: Намерете и заменете текст в заглавията на диаграмите в активния работен лист

Sub ChartLabelReplace()
'Update 20140603
Dim xWs As Worksheet
Dim xFindStr As String
Dim xReplace As String
xFindStr = Application.InputBox("Find:", xTitleId, "", Type:=2)
xReplace = Application.InputBox("Replace:", xTitleId, "", Type:=2)
Set xWs = Application.ActiveSheet
For Each ch In xWs.ChartObjects
    If ch.Chart.HasTitle Then
        ch.Chart.ChartTitle.Text = VBA.Replace(ch.Chart.ChartTitle.Text, xFindStr, xReplace, 1)
    End If
Next
End Sub

4. След това натиснете F5 за да стартирате този код и ще изскочи поле за подкана, за да ви напомни да въведете стария си текст, който искате да замените, вижте екранна снимка:

doc-replace-chart-titles1

5, И после щракнете върху OK и се появява друго поле за подкана, трябва да въведете новата си текстова стойност, която искате да замените старата, вижте екранната снимка:

doc-replace-chart-titles1

6. Продължете да щракате OK за да затворите полето за подкана и старите ви текстове са заменени от новините в даден момент в текущия работен лист, както е показано на следната екранна снимка:

doc-replace-chart-titles1

Забележка: Ако трябва да намерите и замените текстовата стойност на заглавията на диаграмата във всички работни листове в работна книга, трябва да приложите следния VBA код: (Процедурата е същата като горната)

VBA код: Намерете и заменете текст в заглавията на диаграмите във всички работни листове

Sub ChartLabelReplaceAllWorksheet()
'Update 20140603
Dim xFindStr As String
Dim xReplace As String
xFindStr = Application.InputBox("Find:", xTitleId, "", Type:=2)
xReplace = Application.InputBox("Replace:", xTitleId, "", Type:=2)
For Each sh In Worksheets
    For Each ch In sh.ChartObjects
        If ch.Chart.HasTitle Then
            ch.Chart.ChartTitle.Text = VBA.Replace(ch.Chart.ChartTitle.Text, xFindStr, xReplace, 1)
        End If
    Next
Next
End Sub

Още по темата:

Как да намерите и замените текст в коментари в Excel?

Как да намерите и замените конкретен текст в множество текстови полета на Excel?

Как да променя няколко пътя на хипервръзка наведнъж в Excel?

Най-добрите инструменти за продуктивност в офиса

🤖 Kutools AI помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати   |  Изтриване на празни редове   |  Комбинирайте колони или клетки без загуба на данни   |   Кръг без формула ...
Супер търсене: VLookup с множество критерии    VLookup с множество стойности  |   VLookup в няколко листа   |   Размито търсене ....
Разширен падащ списък: Бързо създаване на падащ списък   |  Зависим падащ списък   |  Падащ списък с множество избори ....
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  |  Сравнете диапазони и колони ...
Препоръчани функции: Мрежов фокус   |  Изглед на дизайна   |   Голям формула бар    Мениджър на работни книги и листове   |  Библиотека с ресурси (Автоматичен текст)   |  Избор на дата   |  Комбинирайте работни листове   |  Шифроване/декриптиране на клетки    Изпращайте имейли по списък   |  Супер филтър   |   Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи, ...)   |   50 + Графика Видове (диаграма на Гант, ...)   |   40+ Практичен формули (Изчислете възрастта въз основа на рождения ден, ...)   |   19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя, ...)   |   12 Конверсия Инструменти (Числа към думи, Валутен обмен, ...)   |   7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделени клетки, ...)   |   ... и още

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!

 

Comments (6)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Just want to say thanks for this. Saved me hours of time.
This comment was minimized by the moderator on the site
I want to do this for text in the legend and axis labels as well. What's the VBA name for the Legend? I tried to edit the module by replacing "ChartTitle" with "Legend" "LegendEntry" "ChartLegend" none work.
This comment was minimized by the moderator on the site
Some of my chart titles contain multiple font sizes. When I run the macro above, it converts all of the fonts to the same size and I have to go back through and manually re-size them. Is there a way to modify the VBA code so that it maintains the original font sizes? (I'm still a VBA newb, so any help would be appreciated!)
This comment was minimized by the moderator on the site
Thank you!!! It helped me so much!!!
This comment was minimized by the moderator on the site
This one works for me, because otherwise the variables are not declared : Sub ChartLabelReplace() 'Update 20141017 Dim xFindStr As String Dim xReplace As String Dim ws As Worksheet Dim ch As ChartObject xFindStr = InputBox("Find:") xReplace = InputBox("Replace:") For Each ws In Worksheets For Each ch In ws.ChartObjects If ch.Chart.HasTitle Then ch.Chart.ChartTitle.Text = VBA.Replace(ch.Chart.ChartTitle.Text, xFindStr, xReplace, 1) End If Next Next End Sub
This comment was minimized by the moderator on the site
How does one change the VBA macro to only apply the change to selected charts (and not all the charts on the worksheet)?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations