اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الردود الموصى بها

قام بنشر
الأخوة الأعضاء الكرام
السلام عليكم ورحمة الله وبركاته
ممكن المساعدة في معرفة كيفية أخذ اسم مستند ما من خلية لفتحه أو إنشاء جديد يأخذ اسمه من خلية معينة مثلا: 
Workbooks.Open Filename:=ActiveWorkbook.Path & "\" & "الصفوف" & ".xlsm"
كيف استبدل اسم الصفوف بدالة تشير إليه في نطاق ممسى مثلاً ( الصف ) مثل دالة ( INDIRECT ) للإشارة إلى مدى معين مثلاً أو دالة ( CStr ) للإشارة إلى ورقة معينة 
حاولت استعمال دالة ( CStr ) ولكن دون فائدة 
أفيدونا أفادكم الله 
ولكم منا جزيل الشكر والتقدير
وجزاكم الله خير
 
قام بنشر

أخي العزيز الأستاذ  / عبد الله بولنوار

جزاك الله خير على  سرعة الرد والمساعدة وقبل أن أطلع على ملفك كنت ابحث في أحد المواقع الأجنبية  فوجدت الحل  وحلك كذلك يفي بالغرض أيضا بعد أن أطلعت عليه رفع الله قدرك وزاد علمك

تقبل احترامي وتقديري

 

 والحل بسيط وليس كما اعتقد أنه معقد وهو باستخدام ( Range ) حيث يكون الكود بهذا الشكل

Workbooks.Open Filename:=ActiveWorkbook.Path & "\" & Range("a1").Text & ".xlsm"

لاحظوا الملف المرفق فيه مستندين  أرفعه للفائدة

وجزاكم الله خير 

فتح ملف اسمه مأخوذ منخلية ما.rar

قام بنشر (معدل)

نعم و يمكن حفظ الملف بضيغة البيدياف او غيرها بتغيير النهاية ".xlsm"

 

فيما يخص ملفك لم يعمل معي رغم اني غيرت اسم الخلية باسم ملف موجود عندي

 

و كانه يتعامل مع الملفات المفتوحة اخيرا فقط

 

هل تستعمل و ينداوس اكس بي ؟

تم تعديل بواسطه عبد الله بولنوار
قام بنشر

أخي العزيز الأستاذ  / عبد الله بولنوار

الوندوز عندي ( 8) والملف عندي يعمل مضبوط 

من ملاحظتي للصورة التي أرسلتها أن اسم الملف في الخلية (a1) ليس الصفوف فبالتالي جاءت رسالة الخطأ 

هذا الكود هو لفتح ملف موجود في نفس المجلد وليس لإنشاء مجلد جديد 

والعفو

قام بنشر

أستاذي العزيز / ياسر خليل 

شرف كبير لي وسعيد جداً بمروركم الكريم على موضوعي وإضافة في محلها  جزاكم الله خير

وأتمنى منكم أو من أحد الإخوان التعديل على الكود لإنشاء مستند جديد يحفظ باسم مأخوذ من الخلية نفسها (a1)  مثل ما تم في الفتح 

قام بنشر

إستاذي العزيز / ياسر خليل 

 

 

تفضل أخي الحبيب الشهابي

Sub CreateNewWB()
    ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Range("A1").Value, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub

  هذا الكود هو لتغير اسم الملف  وليس لإنشاء مجلد جديد كما أشرت في المشاركة الثامنة أرجو  التعديل وجزاكم الله خير

  • أفضل إجابة
قام بنشر (معدل)

جرب هذا الكود

Sub CreateNewWB()
    Dim NewBook As Workbook
    Set NewBook = Workbooks.Add
    On Error Resume Next
    Application.DisplayAlerts = False
        NewBook.SaveAs Filename:=ThisWorkbook.Path & "\" & ThisWorkbook.Sheets("Sheet1").Range("A1").Value, FileFormat:=xlOpenXMLWorkbookMacroEnabled
    Application.DisplayAlerts = True
End Sub

تم تعديل بواسطه YasserKhalil
  • Like 1
قام بنشر

إستاذي العزيز / ياسر خليل

لم يفلح الأمر استاذنا القدير  تم إنشاء مستند جديد ولكن لم يتم تسميته بالاسم الموجود في الخلية (a1)

هل جربت الكود أنت 

جزاكم الله خير أستاذنا 

قام بنشر

إستاذي العزيز / ياسر خليل

تم اكتشاف الخطأ  ويتمثل في اختلاف تسمية الأوراق حيث تم تغير ( Sheet1 ) بـ ( ورقة1 ) فتمت الإضافة والتسمية بالاسم المطلوب حيث أصبح الكود هكذا

Sub CreateNewWB()
    Dim NewBook As Workbook
    Set NewBook = Workbooks.Add
    On Error Resume Next
    Application.DisplayAlerts = False
        NewBook.SaveAs Filename:=ThisWorkbook.Path & "\" & ThisWorkbook.Sheets("æÑÞÉ1").Range("A1").Value, FileFormat:=xlOpenXMLWorkbookMacroEnabled
    Application.DisplayAlerts = True
End Sub

أويمكن الاستغناء عن تسمية الورقة والإشارة إلى رقمها فيصبح الكود هكذا 

Sub CreateNewWB()
    Dim NewBook As Workbook
    Set NewBook = Workbooks.Add
    On Error Resume Next
    Application.DisplayAlerts = False
        NewBook.SaveAs Filename:=ThisWorkbook.Path & "\" & ThisWorkbook.Sheets(1).Range("A1").Value, FileFormat:=xlOpenXMLWorkbookMacroEnabled
    Application.DisplayAlerts = True
End Sub

المهم أستاذي العزيز  لك مني كل التقدير والإحترام وجزاكم الله خير ورفع الله قدركم وزادكم علما ورفعة ووفقكم الله دائما لخدمة إخوانكم 

كما لا أنس أخينا العزيز الأستاذ عبد الله بلنوار على تقديم يد العون والمساعدة  حزاه الله خير وكل من شارك معنا ولو بالمشاهدة حزاهم الله خير

تقبلوا تحياتي

  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information