Chọn danh sách quay số từ Sheet Data

Liên hệ QC

thanhtrung78ag

Thành viên chính thức
Tham gia
22/4/10
Bài viết
95
Được thích
4
Nghề nghiệp
giáo viên
Chào các anh / chị!
Tôi đang làm một số chương trình Quay có thể bao gồm 2 Trang tính. Trong đó :
+ Trang tính 1 gồm:
- Tổ (danh sách chọn)
- Số thứ tự: C4 =RANDBETWEEN(1;COUNTA(Data!A:A))
- Họ và tên: D4 =INDEX(Data!B:B;Sheet1!C4)
- Nút Quay số (macro)
Sub chon_hs ()
Sheet1.Range ("c4") = "= RANDBETWEEN (1, COUNTA (dữ liệu! A: A))"
End Sub
+ Trang tính 2 gồm:
- Cột A. Danh sách Tổ (Gồm 4 tổ)
- Cột B: Tổ danh sách 1
- Cột C: Danh sách Tổ 2
- Cột D: Danh sách Tổ 3
- Cột E: Danh sách Tổ 4
Show từng lần nhấn nút Quay số chỉ được chọn Số và Tên người ở Tổ 1. Tôi mong muốn khi chọn Tổ ở C4, khi bấm nút Quay số sẽ chọn đúng danh sách ở cột B; C; D; E ...
Xin được help.
Trân trọng cảm ơn!
 

File đính kèm

Làm đại, trật bỏ
PHP:
Option Explicit
Sub chon_hs()
Dim lr&, rng, r&, ten As String
With Sheets("Data")
    lr = .Range("B:E").SpecialCells(xlLastCell).Row
    rng = .Range("B1:E" & lr).Value
End With
Randomize
With Sheets("sheet1")
    Do
        r = Int(Rnd * UBound(rng)) + 1
        ten = rng(r, Evaluate("=MATCH(B3,Data!A:A,0)"))
    Loop Until ten <> ""
    .Range("C4") = r
    .Range("C5") = ten
End With
End Sub
 

File đính kèm

Làm đại, bỏ qua
PHP:
 Tùy chọn rõ ràng
Sub chon_hs ()
Dim lr &, rng, r &, ten As String
Với Trang tính ("Dữ liệu")
    lr = .Range ("B: E"). SpecialCells (xlLastCell) .Row
    rng = .Range ("B1: E" & lr). Giá trị
Kết thúc với
Ngẫu nhiên hóa
Với Trang tính ("sheet1")
    Làm
        r = Int (Rnd * UBound (rng)) + 1
        ten = rng (r, Đánh giá ("= MATCH (B3, Dữ liệu! A: A, 0)"))
    Loop Until ten <> ""
    .Range ("C4") = r
    .Range ("C5") = mười
Kết thúc với
Kết thúc Sub [/ php]
[/QUOTE]
Cảm ơn sự giúp đỡ của anh rất nhiều ạ!
Bài đã được tự động gộp:

Cảm ơn rất nhiều. Lỗi lúc tiếng Việt, lúc tiếng Anh là do trình duyệt của máy tính: lúc thì nó để nguyên, lúc nó dịch đấy ạ.
1. Viết nên tiếng Việt hoặc tiếng Anh.

2. Dữ liệu Trang tính, đầu dòng nên có cột tiêu đề là Tổ 1, Tổ 2, Tổ 3 ...

3. Công thức trong C5:

= INDEX (Dữ liệu! $ B $ 2: $ E $ 100, C4, MATCH (B3, Dữ liệu! $ B $ 1: $ E $ 1))
 
1. Viết nên tiếng Việt hoặc tiếng Anh.

2. Dữ liệu Trang tính, đầu dòng nên có cột tiêu đề là Tổ 1, Tổ 2, Tổ 3 ...

3. Công thức trong C5:

= INDEX (Dữ liệu! $ B $ 2: $ E $ 100, C4, MATCH (B3, Dữ liệu! $ B $ 1: $ E $ 1))
Khi nhập công thức trong C5 = INDEX (Dữ liệu! $ B $ 2: $ E $ 100, C4, MATCH (B3, Dữ liệu! $ B $ 1: $ E $ 1)) thì chỉ quay đến người thứ 4 trong mỗi danh sách thôi ạ.
 
Khi nhập công thức trong C5 = INDEX (Dữ liệu! $ B $ 2: $ E $ 100, C4, MATCH (B3, Dữ liệu! $ B $ 1: $ E $ 1)) thì chỉ quay đến người thứ 4 trong mỗi danh sách thôi ạ.
.
Thay code cũ bằng code này:

Mã:
Sub chon_hs()
Sheet1.Range("c4").Value = Evaluate("=RANDBETWEEN(1,COUNTA(INDEX(Data!B1:E1000,0,MATCH(Sheet1!B3,Data!B1:E1,0))))")
End Sub

.
 
Web KT

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

Back
Top Bottom