Перейти до основного матеріалу

Як знайти та замінити текст у заголовках діаграм у Excel?

Діаграми дуже корисні для нас у Excel, і ми часто даємо їм деякі заголовки для їх ідентифікації. Але чи намагалися ви знайти та замінити текстове значення в заголовках діаграм у декількох діаграмах? Сьогодні я розповім про те, як знайти певний текст у декількох плитках діаграм і замінити їх на інші значення в Excel.

Знайдіть і замініть текст у заголовках діаграм у Excel кодом VBA


стрілка синя права міхур Знайдіть і замініть текст у заголовках діаграм у Excel кодом VBA

Припустимо, у вас є аркуш, який містить графіки, як показано на наступному знімку екрана, і ви хочете замінити текст січня до лютого лише в усіх заголовках діаграм. Звичайно, ви можете змінювати їх вручну по черзі, але це забирає багато часу, якщо є кілька діаграм. Отже, наступний код VBA може допомогти вам вирішити це завдання. </ P>

doc-replace-chart-title1

1. Активуйте свій робочий аркуш, який містить діаграми, які ви хочете знайти та замінити в їх заголовках.

2. Утримуйте клавішу ALT + F11 і відкриває Вікно Microsoft Visual Basic для програм.

3. Клацання Insert > Модуліта вставте наступний код у Вікно модуля.

Код 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-title1

5. А потім клацніть OK , і з'явиться інше вікно запиту, вам потрібно ввести нове текстове значення, яке потрібно замінити старим, див. знімок екрана:

doc-replace-chart-title1

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

doc-replace-chart-title1

примітки: Якщо вам потрібно знайти та замінити текстове значення назв діаграм на всіх аркушах книги, слід застосувати такий код 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 Aide: Революціонізуйте аналіз даних на основі: Інтелектуальне виконання   |  Згенерувати код  |  Створення спеціальних формул  |  Аналізуйте дані та створюйте діаграми  |  Викликати функції Kutools...
Популярні функції: Знайдіть, виділіть або визначте дублікати   |  Видалити порожні рядки   |  Об’єднайте стовпці або клітинки без втрати даних   |   Раунд без Формули ...
Супер пошук: VLookup за кількома критеріями    Багатозначний VLookup  |   VLookup на кількох аркушах   |   Нечіткий пошук ....
Розширений розкривний список: Швидке створення випадаючого списку   |  Залежний спадний список   |  Виберіть розкривний список, що вибирається ....
Менеджер колонок: Додайте конкретну кількість стовпців  |  Перемістити стовпці  |  Перемкнути статус видимості прихованих стовпців  |  Порівняйте діапазони та стовпці ...
Особливості: Фокус сітки   |  Перегляд дизайну   |   Велика панель формул    Диспетчер робочих книг і аркушів   |  Бібліотека ресурсів (автотекст)   |  Вибір дати   |  Об’єднайте робочі аркуші   |  Шифрування/розшифрування клітинок    Надсилайте листи за списком   |  Супер фільтр   |   Спеціальний фільтр (фільтр жирний/курсив/закреслений...) ...
Топ-15 наборів інструментів12 текст Tools (додати текст, Видалити символи, ...)   |   50 + Графік типи (діаграма Ганта, ...)   |   40+ Практичний Формули (Розрахуйте вік на основі дня народження, ...)   |   19 вставка Tools (Вставте QR-код, Вставити зображення зі шляху, ...)   |   12 Перетворення Tools (Числа до слів, Валютна конверсія, ...)   |   7 Злиття та розділення Tools (Розширені комбіновані ряди, Розділені клітини, ...)   |   ... і більше

Покращуйте свої навички 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