عاطف عبد العليم محمد قام بنشر يناير 14 قام بنشر يناير 14 (معدل) السلام عليكم ورحمة الله وبركاته فوجئت عند رغبتي بعمل بحث واستبدال يظهر فقط بحث واستبدال الصيغ وعدم ظهور بحث واستبدال القيم و التعليقات عند البحث فقط ( بدون بحث واستبدال ) يظهر امكانية البحث عن القيم والمعادلات و التعليقات هل من طريقة لتعود ؟ شكرا لكم بحث.pdf تم تعديل يناير 14 بواسطه عاطف عبد العليم محمد
إيهاب عبد الحميد قام بنشر يناير 15 قام بنشر يناير 15 وعليكم السلام ورحمة الله وبركاته أخي الفاضل نعم في الإستبدال لا يمكن ظهور البحث في التعليقات ويتم التغلب على هذا باضافة كود يوضع فيه كلمة البحث والإستبدال أو وضع كلمة البحث في خلية والإستبدال في خلية ويقوم باستبدال الكلمة التي في التعليقات اليك هذا الكود Sub ReplaceComments() Dim cmt As Comment Dim wks As Worksheet Dim sFind As String Dim sReplace As String Dim sCmt As String sFind = Range("A1").Value sReplace = Range("B1").Value For Each wks In ActiveWorkbook.Worksheets For Each cmt In wks.Comments sCmt = cmt.Text If InStr(sCmt, sFind) <> 0 Then sCmt = Application.WorksheetFunction. _ Substitute(sCmt, sFind, sReplace) cmt.Text Text:=sCmt End If Next Next Set wks = Nothing Set cmt = Nothing End Sub البحث في الخلية A1 وكلمة الإستبدال في الخلية B1
عاطف عبد العليم محمد قام بنشر يناير 16 الكاتب قام بنشر يناير 16 (معدل) شكرا جزيلا إيهاب عبد الحميد لتوضيح المشكلة اكثر اذا بحث عن 3 فلا مشكلة اذا كانت الخلية تحتوي 3 اما اذا كانت تحتوي على =1+2 فيعطي لم يتمكن من العثور عليها اذا تفضلت ــ إن تيسر لك تعديل الكود بحيث يظهر امكانية ادخال input box القيمة التي يبحث عنها القيمة المراد استبدالها نطاق التغيير بدلا من جعله في كل الصفحة تم تعديل يناير 16 بواسطه عاطف عبد العليم محمد
محمد هشام. قام بنشر يناير 16 قام بنشر يناير 16 اخي هل عملية البحث والاستبدال المطلوب جعلها على جميع اوراق المصنف او ورقة معينة وما هو النطاق المرغوب الاشتغال عليه
إيهاب عبد الحميد قام بنشر يناير 16 قام بنشر يناير 16 أخي الكريم الكود يبحث في التعليقات فقط اليك بعض التعديل كما فهمت أنا وهذا الكود الآن سيعمل في الورقة النشطة فقط دون المصنف بالكامل Sub ReplaceComments() Dim cmt As Comment Dim sFind As String Dim sReplace As String Dim sCmt As String Dim found As Boolean sFind = InputBox("أدخل الكلمة المراد البحث عنها:") sReplace = InputBox("أدخل الكلمة المراد استبدالها:") found = False For Each cmt In ActiveSheet.Comments sCmt = cmt.Text If InStr(sCmt, sFind) <> 0 Then sCmt = Application.WorksheetFunction.Replace(sCmt, InStr(sCmt, sFind), Len(sFind), sReplace) cmt.Text Text:=sCmt found = True End If Next If Not found Then MsgBox "لم يتمكن من العثور على الكلمة المراد البحث عنها." End If Set cmt = Nothing End Sub
محمد هشام. قام بنشر يناير 16 قام بنشر يناير 16 (معدل) وعليكم السلام ورحمة الله تعالى وبركاته بعد ادن الاخ ايهاب عبد الحميد جرب الكود التالي Sub Find_and_Replace_values_comments() Dim Title As Variant, WS As Worksheet: Set WS = Sheets("Sheet1") Dim arr(2) As Variant, WSrng As Range, i As Integer, cell As Range Title = Array("البحث", "الاستبدال") i = 0 Do 'قيمة البحث والاستبدال arr(i) = InputBox(" أدخل قيمة " & " " & Title(i), Title(i)) If StrPtr(arr(i)) = 0 Then Exit Sub If Len(arr(i)) = 0 Then MsgBox "يجب عليك إدخال قيمة" & Title(i), 48, "خطأ" Else i = i + 1 End If Loop Until i > 1 On Error Resume Next 'قم بتعديل النطاق بما يناسبك Set WSrng = WS.Range("A1:M100") WSrng.Replace arr(0), arr(1), xlPart, , False For Each cell In WSrng.SpecialCells(xlCellTypeComments) cell.Comment.Text Application.Substitute(cell.Comment.Text, arr(0), arr(1)) Next End Sub في حالة الرغبة في البحث والإستبدال على جميع صفحات المصنف فقد تمت إظافة الكود في الملف المرفق بالتوفيق........... Find_and_Replace_FormulaVersion.xlsb تم تعديل يناير 17 بواسطه محمد هشام. Add search and replace comments
إيهاب عبد الحميد قام بنشر يناير 16 قام بنشر يناير 16 أخي الحبيب محمد هشام كم اسعد بإضافاتك ... نفع الله بك ورفع قدرك 1
عاطف عبد العليم محمد قام بنشر يناير 17 الكاتب قام بنشر يناير 17 جزاكما الله خيرا محمد هشام. إيهاب عبد الحميد واعتذر لكم ــ سأوضح المطلوب ـ لا يهمني البحث في التعليقات ــ يهمني البحث عن الخانات التي تحتوي على قيم كالآتي =2+5 ( 7 ) ــ اذا بحث عن 7 فلا تظهر نتيجة أذا كانت خلية تحتوي على 7 وخلية أخرى تحتوي على 7 ولكن نتيجة جمع 2+5 مثلا فعند البحث والاستبدال يتعامل مع 7 ولا يتعامل مع الخلية التي بها 7 نتيجة جمع 2+5 المطلوب بحث في الورقة النشطة في نطاق محدد وقد وجدت هذا الكود لتحديد النطاق Set rng = Application.InputBox("Select a range", "Title Here", Type:=8)
محمد هشام. قام بنشر يناير 17 قام بنشر يناير 17 أظن أن طلبك ليس بالصعب لاكن من الأفضل محاولة إرفاق عينة لشكل البيانات عندك على الملف الأصلي. لنتمكن من فهم طلبك بشكل أوضح. ربما نستطيع مساعدتك.
أفضل إجابة محمد هشام. قام بنشر يناير 17 أفضل إجابة قام بنشر يناير 17 (معدل) اعتقد ان الكود الخاص بي يفعل نفس الشيء ينقصه فقط تحديد النطاق المرغوب الاشتغال عليه لعدم دكرك دالك في اول مشاركة يمكنك التحقق من الرابط التالي : https://streamable.com/49qe96 تم تعديل الكود ليتناسب مع طلبك الاخير Sub Find_and_Replace_values() Dim Title As Variant, WS As Worksheet: Set WS = ActiveSheet Dim arr(2) As Variant, WSrng As Range, i As Integer, Cpt As Long Title = Array("البحث", "الاستبدال") i = 0 Do 'قيمة البحث والاستبدال arr(i) = InputBox(" أدخل قيمة " & " " & Title(i), Title(i)) If StrPtr(arr(i)) = 0 Then Exit Sub If Len(arr(i)) = 0 Then MsgBox "يجب عليك إدخال قيمة" & " " & Title(i), 48, "خطأ" Else i = i + 1 End If Loop Until i > 1 On Error Resume Next ' تحديد النطاق Set WSrng = Application.InputBox(Prompt:=" تحديد نطاق البحث: ", _ Title:="البحث والاستبدال", _ Default:=Selection.Address, Type:=8) If WSrng Is Nothing Then Exit Sub WSrng.Replace arr(0), arr(1), xlPart, , False Cpt = WorksheetFunction.CountIf(WSrng, arr(1)) MsgBox " تم إستبدال " _ & Cpt & " قيمة" _ & vbCrLf & vbCrLf _ & " " & "من" & " " & arr(0) & " " & "إلى" & " " & arr(1), vbInformation, "information" End Sub في حالة الرغبة بعدم استبدال الصيغ بصفة عامة والتعامل مع القيم فقط يمكنك استخدام هدا الخيار ''''''''''''''' ' تحديد النطاق Set WSrng = Application.InputBox(Prompt:=" تحديد نطاق البحث: ", _ Title:="البحث والاستبدال", _ Default:=Selection.Address, Type:=8) If WSrng Is Nothing Then Exit Sub For Each c In WSrng If Not c.HasFormula And c <> "" Then c.Replace arr(0), arr(1), xlPart, , False Cpt = WorksheetFunction.CountIf(WSrng, arr(1)) End If Next c MsgBox " تم إستبدال " _ & Cpt & " قيمة" _ & vbCrLf & vbCrLf _ & " " & "من" & " " & arr(0) & " " & "إلى" & " " & arr(1), vbInformation, "information" End Sub Find_and_Replace_FormulaVersion3.xlsb تم تعديل يناير 17 بواسطه محمد هشام. تحديد الورقة النشطة 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.