portegy قام بنشر يوليو 10, 2019 قام بنشر يوليو 10, 2019 السلام عليكم ورحمة الله محتاج المساعدة فى انتاج شيت باسم جديد غير متكرر الكود التالى بينتج شيت جديد ويكون الاسم اكبر من 5 حروف Sub CreateSheets() Dim ws1 As Worksheet Dim myValue As Variant myValue = InputBox("insert sheet name", "Create sheet") If Len(myValue) > 5 Then Set ws1 = Worksheets("test") ws1.Copy ThisWorkbook.Sheets(Sheets.Count) ActiveSheet.Name = myValue Else MsgBox ("Not valid name") End If End Sub وجزاكم الله كل خير
أفضل إجابة سليم حاصبيا قام بنشر يوليو 10, 2019 أفضل إجابة قام بنشر يوليو 10, 2019 جرب هذا الكود Option Explicit Sub DET_NEW_SHEET() Dim sh As Worksheet Dim arr_sh() Dim k%: k = 1 Dim my_name$ ReDim arr_sh(1 To Sheets.Count) For Each sh In Sheets arr_sh(k) = sh.Name k = k + 1 Next my_name = InputBox("insert sheet name", "Create sheet") If IsError(Application.Match(my_name, arr_sh, 0)) And _ Len(my_name) <= 5 Then Sheets("sheet1").Copy ThisWorkbook.Sheets(Sheets.Count) ActiveSheet.Name = my_name Else MsgBox "This sheet is already exists" & Chr(10) & _ "or the name of sheet is too large" End If Erase arr_sh End Sub
portegy قام بنشر يوليو 10, 2019 الكاتب قام بنشر يوليو 10, 2019 شكرا على ردك لما بسيب اسم الشيت فاضى يطلعلى ايرور فى ActiveSheet.Name = my_name ولو كتبت اسم شيت جديد مابينشأش حاجة
سليم حاصبيا قام بنشر يوليو 10, 2019 قام بنشر يوليو 10, 2019 2 ساعات مضت, portegy said: شكرا على ردك لما بسيب اسم الشيت فاضى يطلعلى ايرور فى ActiveSheet.Name = my_name ولو كتبت اسم شيت جديد مابينشأش حاجة وهل يجوز ان يكون اسم اي شيت فارغاً ??? حللها بنفسك ولكن لتفادي ظهور هذه الرسالة يمكن اضافة سطر بسيط على الكود (مباشرة قبل عبارة If IsError) السطر المطلوب if Len(my_name)=0 Then Exit Sub
portegy قام بنشر يوليو 10, 2019 الكاتب قام بنشر يوليو 10, 2019 شكرا على ردك تحليلى .... ان بيحصل اخطاء اثناء الادخال ولازم نحلل جميع عمليات الادخال وتعديل على كود لانشاء اسم شيت اكبر من 5 Len(my_name) > 5 Then وجزاك الله خير على متابعتك
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.