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

كيف املئ المصفوفات


إذهب إلى أفضل إجابة Solved by عادل حنفي,

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

  • أفضل إجابة

اخي ضع في الخلية B2 بداية الارقام وفي الخليةة B3 ضع الرقم الذي ستنتهي عنده الارقام

ثم اضغط  علي زر توزيع

ارجو ان يكون المطلوب

مصفوفة.xlsm

تم تعديل بواسطه عادل حنفي
  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

بعد اذن الاستاذ عادل

زيادة في اثراء الموضوع 

هذا الكود

Private Sub CommandButton1_Click()

Dim My_min#: My_min = Application.Min([b2:b3])
Dim My_max#: My_max = Application.Max([b2:b3])
Dim i#, c%, r%, Max_ro%
 c = 4: r = 3: Max_ro = 52
Range("b2").CurrentRegion.Offset(1, 2) = vbNullString
For i = My_min To My_max
 Cells(r, c) = i
 r = r + 1
 If r = Max_ro + 1 Then: r = 3: c = c + 1
Next

End Sub

 

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

استاذ علي محمد مشكور مرورك وكلماتك

استاذ سليم حاصبيا  كعادتك كود جميل وبدون استأذان اخي فالهدف واحد

الاستاذ موسي انيس ان لم اخطئ في الاسم بالنسبة للكود ممكن ينفع بشرط معرفة درجة العشوائية وطريقة وجود الارقام بالملف الاساسي

وكل عام وانتم بخير

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

51 دقائق مضت, moussaanis said:

حقيقة شكرا لكم من كل قلبي وعيدكم مبارك

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

لم افهم ما تقصده

2 دقائق مضت, عادل حنفي said:

استاذ علي محمد مشكور مرورك وكلماتك

استاذ سليم حاصبيا  كعادتك كود جميل وبدون استأذان اخي فالهدف واحد

الاستاذ موسي انيس ان لم اخطئ في الاسم بالنسبة للكود ممكن ينفع بشرط معرفة درجة العشوائية وطريقة وجود الارقام بالملف الاساسي

وكل عام وانتم بخير

تشرفت بمروركم الكريم استاذ عادل

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

اذا اردت التوزبع عشوائي

هذا الماكرو

Option Explicit
Sub choose_rnd()
'=============================================
Rem this Macro distributs all numbers bettween Two given Ones _
 In Columns with fixed lenght(by Choise) _
 without repetition _
 ========>> Created by_salim hasbaya On 6/6/2019
 '=============================================
If ActiveSheet.Name <> "SALIM" Then Exit Sub
Dim i%
Dim myStart%: myStart = Application.Min([c2:c3])
Dim myEnd%: myEnd = Application.Max([c2:c3])

Range("c2").CurrentRegion.Offset(2, 1).ClearContents

If Not IsNumeric([a2]) Or [a2] < 1 _
Or Int([a2]) <> [a2] Then [a2] = 50

Dim Max_ro%: Max_ro = [a2] + 2
If Max_ro > 102 Then Max_ro = 52
Dim r%, c%
r = 3: c = 4

 With CreateObject("System.Collections.SortedList")
      For i = myStart To myEnd
       .Item(Rnd) = i
      Next i
 i = 0
      Do Until i > .Count - 1
        Cells(r, c) = .GetByIndex(i)
        r = r + 1
        If r = Max_ro + 1 Then r = 3: c = c + 1
        i = i + 1
      Loop
 End With
   
End Sub

الملف مرفق

 

 

 

Rnd _Distribution.xlsm

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information