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

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

قام بنشر

 

اخواني الافاضل

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

هناك 1200 اسم تقريبا في الشيت الأول

 عند النقل يأخذ كل 10 أسماء و يضعهم فى المكان المقابل لهم في الشيت الاخر مع مراعاة وجود عدد 6 صفوف للدباجه بين كل مجموعه و الاخري

 

طلب اخر بعد اذنكم

لدي 1200 اسم تحت كل اسم صف فارغ اريد كود أو معادلة لدمج كل صف مع الذي يليه

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

تم حذف المشاركة الأخرى لأنها مكررة مع هذه المشاركة ..من فضلك لا تكرر نفس المشاركات

 

 

 

 

يناير2017.rar

قام بنشر

جرب هذا الماكرو (كان من الافضل عدم وجود خلايا مدمجة)

تم تبديل اسم الصفحة الثانية الى اسم بالاجنبية MY_DATA

Sub Copy_With_Merged_Cells()

Const My_step = 26
Dim M As Worksheet, S As Worksheet
Dim I%, Ls%, x%, t%
Dim MX%, R%

Set M = Sheets("MY_DATA")
Set S = Sheets("Sheet1")
  
  MX = Application.Max(M.Range("A:A"))
  Ls = S.Cells(Rows.Count, 1).End(3).Row: Ls = Ls + 1
  R = M.Range("A:A").Find(MX, LookAt:=1).Row
  
 For I = 12 To R Step My_step
  M.Range("B" & I).Resize(19) = ""
 Next
 
 For I = 1 To Ls Step 20
  t = My_step * x + 12
   S.Range("A" & I).Resize(20).Copy M.Range("B" & t)
   x = x + 1
 Next
 M.Columns(2).AutoFit
End Sub

الملف مرفق

Copy_For_Me.xlsm

  • Like 1
  • Thanks 1
قام بنشر

انشأ صفحة جديدة باسم   Sans_Merge (حيث ستجد الاسماء دون دمج)

و نفذ هذا الماكرو (لا يجوز ان تلغي الدمج في الصفحة الاولى حتى لا يتعطل الماكرو الاول)

Sub Remove_merg()
Dim Ls%

 Ls = Sheets("Sheet1").Cells(Rows.Count, 1).End(3).Row: Ls = Ls + 1
 Sheets("Sheet1").Range("A1:A" & Ls).Copy Sheets("Sans_Merge").Range("a1")
 Sheets("Sans_Merge").Range("A1:A" & Ls).UnMerge
 Sheets("Sans_Merge").Range("A1:A" & Ls).SpecialCells(4).EntireRow.Delete

End Sub

الملف مرفق من جديد (النتيجة في الصفحة Sans_Merge)

 

Copy_For_Me_new.xlsm

  • Thanks 1
قام بنشر

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

قام بنشر

يا فندم هو نفس الملف المسمي sheet1 المدرج به جميع الاسماء لقد قمت بعمل صف زائد تحت كل اسم ثم قمت بدمج كل اسم بالصف الفارغ الذي يليه يدويا

كل اسم علي حده عن طريق الامر merge هذا بالنسبة لل 20 اسم الاولي تقريبا, ولكن اريد ان انفذ هذا علي باقي الاسماء عن طريق كود يفعل ذلك مرة واحدة

قام بنشر

الكود اللازم

Sub add_names()
Dim Ls%

 Ls = Sheets("Sheet1").Cells(Rows.Count, 1).End(3).Row: Ls = Ls + 1
 Sheets("Sans_Merge").Range("K:K").Clear
 Sheets("Sheet1").Range("A1:A" & Ls).Copy Sheets("Sans_Merge").Range("K1")
  With Sheets("Sans_Merge").Range("K1:K" & Ls)
    .UnMerge
    .SpecialCells(4).Formula = "=k1"
  End With
End Sub

الملف من جديد 

Rxtra_Copy_For_Me.xlsm

  • Like 1
قام بنشر

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

لتصبح خلية واحدة بها اسم واحد كما هو موضح بالشيت المرفق

Book1.xlsx

  • أفضل إجابة
قام بنشر

كنت قد قلت لك سابقاً ارفع تموذج عما تريد ( 10 - 20 سطراً لا أكثر من 2000 صف) ولا تهدر الوقت بامور لا تجدي نفعاً

و الان قد اتضحت الصورة اليك الماكرو المناسب (النتيجة في شيت Salim لانه ربما اردت التعديل بعض الشيء على الماكرو)

الماكرو يعمل على كل البيانات مهما زاد عدد الصفوف في العامود الاول

Option Explicit

Sub Merge_cells()
Dim Sh As Worksheet, Sa As Worksheet
Dim lr_ShA%, i%
Dim my_rg As Range
Set Sh = Sheets("sheet1"): Set Sa = Sheets("Salim")
 Sa.Range("A:A").Clear
 lr_ShA = Sh.Cells(Rows.Count, 1).End(3).Row
 Sh.Cells(1, 1).Resize(lr_ShA + 1).Copy
 Sa.Cells(1, 1).PasteSpecial
 Application.CutCopyMode = False
 Sa.Cells(1, 3).Select
  
  For i = 1 To lr_ShA Step 2
    Sa.Cells(i, 1).Resize(2).Merge
  Next
  
  With Sa.Cells(1, 1).Resize(lr_ShA)
    .VerticalAlignment = 2
    .InsertIndent 1
  End With
End Sub

المثال مرفق

 

tajriba.xlsm

  • Like 1
  • Thanks 1
قام بنشر

أثقلت عليك سيدي هذ هو المطلوب بالفعل ولكن عند Run  يطبق علي ال 20 اسم الاولي و يخفي باقي الاسماء

قام بنشر

لو لاحظت الصفحة الاولى لرأيت انها تحتوي على 20 اسم فقط (قمت بحذف كمية كبيرة من الاسماء لمتابعة عمل الكود والتحقق انه يقوم بالمطلوب )

و لكن اذا نسخت الكود الى ملفك فسوف يعمل على كل الاسماء 

  • Thanks 1
قام بنشر

جزاك الله كل الخير و متعك بالصحة و العافية أستاذي الفاضل 

تم تشغيل كل الأكواد بنجاح 

  • Like 1
قام بنشر

سيدي الفاضل أعرف أنني أثقلت عليك 

أريد أن انسخ محتويات هذا الشيت 120 مرة في نفس الشيت مع مراعاه نسخ المعادلات و التنسيقات 

مع تثبيت جزء الدباجه العلوية و أسماء المواد كما هو بالملف المرفق

يناير2017.xls

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