abdullahsaeed279807 قام بنشر يونيو 7 قام بنشر يونيو 7 السلام عليكم اساتذتي الكرام لدي شيت به العديد من المعادلات وحاولت تحويل المعادلات الى اكواد حسب كود الاستاذ القدير عبداللة بقشير لكن عند تنفيذ الكود تطلع لي رسالة خطاء بان الكود طويل جدا
حسونة حسين قام بنشر يونيو 7 قام بنشر يونيو 7 وعليكم السلام ورحمة الله وبركاته يرجى رفع ملف للعمل عليه 1
abdullahsaeed279807 قام بنشر يونيو 7 الكاتب قام بنشر يونيو 7 اضطررت الى حذف اغلب المعادلات لان حجم الملف كبير تحويل معادلات5 (2).zip
abdullahsaeed279807 قام بنشر يونيو 10 الكاتب قام بنشر يونيو 10 في 7/6/2024 at 20:37, حسونة حسين said: وعليكم السلام ورحمة الله وبركاته يرجى رفع ملف للعمل عليه تحويل معادلات5 (2) (1).zip
Saleh Ahmed Rabie قام بنشر يونيو 10 قام بنشر يونيو 10 يمكنك الاستفادة من هذا الكود ليقوم بعرض رسالة تنبيه عند الانتهاء من تحويل المعادلات ونقل الرموز المتولدة إلى موديول بشكل تلقائي: Sub ConvertFormulasToVBA() Dim ws As Worksheet Dim vbComp As Object Dim newModule As Object Dim cell As Range Set ws = ThisWorkbook.Sheets("Sheet1") ' Create a new VBA module Set vbComp = ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule) Set newModule = vbComp.CodeModule ' Loop through cells with formulas and add them to the new module For Each cell In ws.UsedRange If cell.HasFormula Then newModule.InsertLines newModule.CountOfLines + 1, "Sub Formula" & cell.Address & "()" newModule.InsertLines newModule.CountOfLines + 1, " Range(""" & cell.Address & """).Value = " & Chr(34) & "'" & cell.Formula & Chr(34) newModule.InsertLines newModule.CountOfLines + 1, "End Sub" End If Next cell MsgBox "تم تحويل المعادلات إلى كود VBA بنجاح وتم نقل الرموز إلى موديول جديد.", vbInformation End Sub ``` عند تشغيل هذا الكود، ستظهر رسالة تنبيه عند الانتهاء من تحويل المعادلات ونقل الرموز إلى موديول جديد. يُفضل تغيير اسم الشيت في السطر العاشر حسب اسم الشيت الذي تريد تحويل المعادلات فيه.
Saleh Ahmed Rabie قام بنشر يونيو 10 قام بنشر يونيو 10 في 7/6/2024 at 19:55, abdullahsaeed279807 said: السلام عليكم اساتذتي الكرام لدي شيت به العديد من المعادلات وحاولت تحويل المعادلات الى اكواد حسب كود الاستاذ القدير عبداللة بقشير لكن عند تنفيذ الكود تطلع لي رسالة خطاء بان الكود طويل جدا وعليكم السلام ورحمة الله وبركاته إذا كانت المعادلات في الشيت كبيرة جدًا وتحولها إلى كود VBA ينتج عن ذلك كود طويل جدًا، يمكنك محاولة تقسيم العملية إلى أجزاء أصغر لتجنب رسالة الخطأ بسبب طول الكود. يمكنك تجربة تفعيل ما يلي: 1. قم بتحديد نطاق من الخلايا المحتوية على المعادلات التي ترغب في تحويلها إلى رموز VBA. 2. استخدم الكود التالي لتحويل المعادلات في النطاق المحدد إلى رموز VBA: Sub ConvertFormulasInRangeToVBA() Dim cell As Range For Each cell In Selection If cell.HasFormula Then With ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule).CodeModule .AddFromString "Sub ConvertFormula" & cell.Address & "()" & vbNewLine & _ " Range(""" & cell.Address & """).Value = " & "'" & cell.Formula & "'" & vbNewLine & _ "End Sub" End With End If Next cell MsgBox "تم تحويل المعادلات في النطاق المحدد إلى رموز VBA بنجاح.", vbInformation End Sub 3. بعد تشغيل الكود، حدد النطاق الذي تريد تحويل المعادلات فيه يدويًا، ثم قم بتشغيل الكود. 4. سيتم تحويل المعادلات في النطاق المحدد إلى رموز VBA في موديول جديد. يرجى ملاحظة أن هذه الطريقة لتقسيم العملية قد تساعد في تجنب رسالة الخطأ بسبب طول الكود، وتجعل عملية التحويل أكثر كفاءة.
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.