انتقل إلى المحتوى الرئيسي

كيفية البحث عن نص واستبداله في عناوين المخططات في Excel؟

تعد المخططات مفيدة جدًا بالنسبة لنا في Excel ، وغالبًا ما نعطيها بعض العناوين للتعرف عليها. ولكن هل حاولت البحث عن قيمة النص واستبدالها في عناوين المخططات ضمن مخططات متعددة؟ اليوم ، سأتحدث عن كيفية العثور على نص معين في مربعات مخططات متعددة واستبدالها بقيمة أخرى في Excel.

ابحث عن النص واستبدله في عناوين المخططات في Excel برمز VBA


السهم الأزرق الحق فقاعة ابحث عن النص واستبدله في عناوين المخططات في Excel برمز VBA

لنفترض أن لديك ورقة عمل تحتوي على المخططات كما هو موضح في لقطة الشاشة التالية ، وتريد استبدال النص يناير بحلول فبراير في جميع عناوين المخطط فقط. بالطبع ، يمكنك تغييرها يدويًا واحدًا تلو الآخر ، ولكن هذا سيستغرق وقتًا طويلاً إذا كانت هناك مخططات متعددة. حتى هنا ، يمكن أن تساعدك التعليمات البرمجية VBA التالية للتعامل مع هذه المهمة. </ p>

doc-replace-chart-title1

1. قم بتنشيط ورقة العمل الخاصة بك التي تحتوي على المخططات التي تريد البحث عنها واستبدالها في عناوينها.

2. اضغط باستمرار على ALT + F11 مفاتيح ، ويفتح نافذة ميكروسوفت فيسوال باسيك للتطبيقات.

3. انقر إدراج > وحدة، والصق الكود التالي في ملف نافذة الوحدة.

كود فبا: ابحث عن النص واستبدله في عناوين المخططات داخل ورقة العمل النشطة

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 التالي: (الإجراء هو نفس الإجراء أعلاه)

كود فبا: ابحث عن النص واستبدله في عناوين المخططات في جميع أوراق العمل

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 إدخال الأدوات (أدخل رمز الاستجابة السريعة, إدراج صورة من المسار، ...)   |   12 تحويل الأدوات (أرقام إلى كلمات, نتيجة تحويل عملة، ...)   |   7 دمج وتقسيم الأدوات (الجمع بين الصفوف المتقدمة, تقسيم الخلايا، ...)   |   ... و اكثر

عزز مهاراتك في Excel باستخدام Kutools for Excel، واختبر كفاءة لم يسبق لها مثيل. يقدم Kutools for Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية وتوفير الوقت.  انقر هنا للحصول على الميزة التي تحتاجها أكثر...

الوصف


يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 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