Nhập Data Random từ một chuổi giá trị cho trước (1 người xem)

Người dùng đang xem chủ đề này

Takehi_JP

Thành viên hoạt động
Tham gia
31/12/11
Bài viết
183
Được thích
9
Giới tính
Nữ
Với các giá trị 0 đã cho trước, và đã cố định vị trí như bảng excel gữi kèm.
nhờ mọi người giúp : làm sao có thể cho nó chèn random từ 1 đến 500 vào các ô khác 0 ( như ví dụ mình đã điền bằng tay.)

và cứ mỗi lần mình cần random, thì ấn vào một nút PUT RANDOM, nó sẽ sắp xếp random vị trí cho các con số từ 1 đến 500 đó cho chúng ta.
 

File đính kèm

Cách làm như thế này, tạo ra thêm 1 sheet nữa, giả sử sheet kết quả .
Tại sheet kết quả cho chạy công thức ở A2=RANDBETWEEN($B$1,$D$1)*(sheet_goc!A2<>0) rồi kéo hết nguyên bảng (tương tự cấu trúc của sheet gốc)
Mỗi lần thay đổi đứng ở sheet_kết quả, bấm F9 là được, muốn thay đổi vị trí các số thì qua bên sheet gốc thay đổi vị trí mới nhập <>0 là được!!
 

File đính kèm

Lần chỉnh sửa cuối:
Với các giá trị 0 đã cho trước, và đã cố định vị trí như bảng excel gữi kèm.
nhờ mọi người giúp : làm sao có thể cho nó chèn random từ 1 đến 500 vào các ô khác 0 ( như ví dụ mình đã điền bằng tay.)

và cứ mỗi lần mình cần random, thì ấn vào một nút PUT RANDOM, nó sẽ sắp xếp random vị trí cho các con số từ 1 đến 500 đó cho chúng ta.
263 dong, 190 cột, kéo công thức cho gần 50.000 ô chắc oải.
Bạn cho chạy Sub này bằng cách nào tùy bạn:
PHP:
Public Sub GPE()
Dim Arr(), I As Long, J As Long, R As Long, C As Long, Num As Long
Arr = Range("A2", Range("A2").End(xlDown)).Resize(, 190).Value2
R = UBound(Arr): C = UBound(Arr, 2): Num = Range("D1").Value2
Randomize
For I = 1 To R
    For J = 1 To C
        If Arr(I, J) <> 0 Then
            Arr(I, J) = Int(Rnd * 500) + 1
        End If
    Next J
Next I
Range("A2").Resize(R, C) = Arr
End Sub
 
Tks bạn BA TÊ và EKE-RULA. mình đã áp dụng được !!!
 

Bài viết mới nhất

Back
Top Bottom