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

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


إذهب إلى أفضل إجابة 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
رابط هذا التعليق
شارك

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