اذهب الي المحتوي
أوفيسنا

فتح شيت جديد بمجرد كتابة الإسم فى خلية


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

السلام عليكم أهل المنتدى الكرام

أقدم لكم اليوم ملف به كود يقوم بفتح صفحات جديدة بمجرد كتابة اسم الشيت فى العمود C من صفحة Main

تقبلوا منى بارك الله فيكم وجزيتم خيرا

اكسل vba فتح شيت جديد بمجرد ادخال الاسم فى الخلية.xlsm

  • Like 2
  • Thanks 1
رابط هذا التعليق
شارك

أخى الحبيب على

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

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

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

تقبل تحياتى

تم تعديل بواسطه الأستاذ / محمد الدسوقى
  • Like 1
رابط هذا التعليق
شارك

1 ساعه مضت, ali mohamed ali said:

السلام عليكم أهل المنتدى الكرام

أقدم لكم اليوم ملف به كود يقوم بفتح صفحات جديدة بمجرد كتابة اسم الشيت فى العمود C من صفحة Main

تقبلوا منى بارك الله فيكم وجزيتم خيرا

اكسل vba فتح شيت جديد بمجرد ادخال الاسم فى الخلية.xlsm

الموضوع جيد و الى الامام 

لكن عندي ملاحظتين ارجو تقبلها:

1- لا ضرورة لتحديد صفحة مجمد ثم نسخها (يكفي نسخها فقط)

2-في حال ادراج اسم موجود في العامود  C او ان الخلية  فارغة   يحصل خطأ بالكود

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

ليبدو الكود يهذا الشكل

Private Sub Worksheet_Change(ByVal Target As Range)
Dim cont%, lr
If Target.Column = 3 Then
lr = Sheets(1).Range("c" & Rows.Count).End(xlUp).Rows.Value
 cont = Application.CountIf(Range("c:c"), Target)
  If cont > 1 Or IsEmpty(Target) Then GoTo Exit_Me
Sheets("Mohamed").Copy after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).name = lr
Sheets(Sheets.Count).[b1].Value = lr
End If
Exit_Me:
End Sub

 

 

  • Like 4
رابط هذا التعليق
شارك

جزاك الله كل خير اخى الكريم الأستاذ محمد

هذا فيديو بالشرح :

 

وعليكم السلام اخى سليم دائما نصيحتك أستفاد منها كثيرا -جزاك الله كل خير

وهذا ما كان ينقص هذا الكود دائما تكمل لنا النقصان

بارك الله فيك وجعله دائما فى ميزان حسناتك وادخلك فسيح جناته

تم تعديل بواسطه ali mohamed ali
  • Like 2
  • Thanks 1
رابط هذا التعليق
شارك

14 hours ago, سليم حاصبيا said:

الموضوع جيد و الى الامام 

لكن عندي ملاحظتين ارجو تقبلها:

1- لا ضرورة لتحديد صفحة مجمد ثم نسخها (يكفي نسخها فقط)

2-في حال ادراج اسم موجود في العامود  C او ان الخلية  فارغة   يحصل خطأ بالكود

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

ليبدو الكود يهذا الشكل


Private Sub Worksheet_Change(ByVal Target As Range)
Dim cont%, lr
If Target.Column = 3 Then
lr = Sheets(1).Range("c" & Rows.Count).End(xlUp).Rows.Value
 cont = Application.CountIf(Range("c:c"), Target)
  If cont > 1 Or IsEmpty(Target) Then GoTo Exit_Me
Sheets("Mohamed").Copy after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).name = lr
Sheets(Sheets.Count).[b1].Value = lr
End If
Exit_Me:
End Sub

 

 

جزاك الله خيرا   ماشاء الله بارك الله فيكم جميعا..... طب ازاى اعمل هايبر لينك   

للصفحه  بمجرد ادخال الاسم فى العمود للذهاب الى تلك الصفحه

رابط هذا التعليق
شارك

17 hours ago, ali mohamed ali said:

السلام عليكم أهل المنتدى الكرام

أقدم لكم اليوم ملف به كود يقوم بفتح صفحات جديدة بمجرد كتابة اسم الشيت فى العمود C من صفحة Main

تقبلوا منى بارك الله فيكم وجزيتم خيرا

اكسل vba فتح شيت جديد بمجرد ادخال الاسم فى الخلية.xlsm

رجاء شرح ازاى عملت هيبر لينك

رابط هذا التعليق
شارك

مش عارف اقول لحضرتك ايه بجد بجد اسعتدونى بتعاونكم معايا .... للاسف الشديد انا هاوى واتعلم ... لكن لم اوصل لنتيجه فقمت بعمل تباديل وتوافيق ف الكود لكنى لم استطه الوصول   فبرجاء عمل الهايبر لينك بالملف المرفق .... او شرح مبسط حتى اتمكن  ولك الشكر والتقدير 

STORE-ITEM SSH2018.xlsm

رابط هذا التعليق
شارك

20 hours ago, سليم حاصبيا said:

جزاك الله خيرا   ..بالفعل الهايبر لينك  تم تفعيله لكن ظهرت مشكله 

وهى ان  ذر استدعاء المعادله الى ذى تم عمله بمعرفتكم لم يعمل   

ولم يعمل على الصفحه النشطه ,.... اعلم جيدا انى طلبت الكثير واثقلت علىكم ولكنى  لا ا املك الا الدعاء لكم جزاك الله خيرا 

مرفق الملف وموضح ماذا اريد 

 

STORE-ITEM SSH2018 salim.xlsm

رابط هذا التعليق
شارك

  • 1 month later...

السلام عليكم اخواني لدي مشكله في كتابة الاسم 

وبضل يعطيني new2  new3 

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 Then
lr = Sheets(3).Range("d" & Rows.Count).End(xlUp).Rows.Value
Sheets("new").Select
Sheets("new").Copy after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = lr
Sheets(Sheets.Count).[c3].Value = lr
End If
End Sub

Picture18888.png

Picture199499.png

Picture19999999999999.png

رابط هذا التعليق
شارك

  • 6 months later...

السلام عليكم ورحمة الله وبركاته 

الله يعطيكم العافيه على المجهود العظيم كود في منتهى الروعة

انا طبقت الكود ولكن واجهت مشكله عندي في ملف الاكسل 3 اعمدة (التحركات اليومية + التحضير اليومي + التقارير اليومية )2.PNG.b9a969cbb835865d9619ffc003dd27bf.PNGلمن حاولت اكرر الكود تجي رسالة خطاء وارفقت لكم الصور للكود اتمنى مساعدتي في عمل تكرار للكود وشكرا1.PNG.d9cb6be798b933d1ab06976671c6db0f.PNG

رابط هذا التعليق
شارك

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