Tạo form vòng quay may mắn (1 người xem)

Liên hệ QC

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

saobekhonglac

Thành viên mới
Tham gia
1/11/08
Bài viết
1,565
Được thích
1,454
Giới tính
Nam
Chào Anh/Chị.

Mình thấy hiện tại có nhiều chương trình vòng quay may mắn, thấy cũng vui. Không biết trên Excel mình có làm đươc như vậy không.
Các ô nội dung mình tùy chỉnh 10 hay 15 ô gì cũng được, và khi quay nó chạy tự động thay đổi (ngẫu nhiên thì sẽ công bằng hơn). Nhờ Anh/chị giúp.

Cám ơn nhiều.

1540891189296.png
 
Chào Anh/Chị.

Mình thấy hiện tại có nhiều chương trình vòng quay may mắn, thấy cũng vui. Không biết trên Excel mình có làm đươc như vậy không.
Các ô nội dung mình tùy chỉnh 10 hay 15 ô gì cũng được, và khi quay nó chạy tự động thay đổi (ngẫu nhiên thì sẽ công bằng hơn). Nhờ Anh/chị giúp.

Cám ơn nhiều.

View attachment 206720
Bác này coi bộ khoái cái vụ chiếc nón kỳ diệu à.
 

File đính kèm

Cái này trong tầm tay bạn mà, rảnh sửa chút là xong luôn đi bạn.
Làm thử
Mã:
Sub Macro2()
    Dim i As Integer, n As Integer, r As Integer, d As Integer, v As Integer, k As Integer
    Dim dArr()
    dArr = Array("Quat het ly", "Thang ben trai uong 1 ly", "Uong nua ly", "Thang ben phai quat 1 ly", "Ca ban cung zo", "Quat 1 ly ruoi", "Khong phai quay vong sau", "Quat 3 mieng moi", "Quat 2 ly", "Qua luot", "Quat phat 3 ly", "Giong thang tiep theo")
    Randomize
    n = Int(360 * Rnd) + (Int(7 * Rnd) + 2) * 360
    r = 15
    d = Int(n / r)
    For i = 1 To n Step r
        Sheet1.Shapes.Range(Array("VongQuay")).Rotation = Sheet1.Shapes.Range(Array("VongQuay")).Rotation + r
        DoEvents
        v = Sheet1.Shapes.Range(Array("VongQuay")).Rotation Mod 360
        Sheet1.Shapes.Range(Array("DOXOAY")).TextFrame2.TextRange.Text = v
        Sheet1.Shapes.Range(Array("KQ")).TextFrame2.TextRange.Text = dArr(Int(v / 30))
        If i > d * k Then
          r = r - 1
          k = k + 1
        End If
    Next i
End Sub
 

File đính kèm

Làm thử
Mã:
Sub Macro2()
    Dim i As Integer, n As Integer, r As Integer, d As Integer, v As Integer, k As Integer
    Dim dArr()
    dArr = Array("Quat het ly", "Thang ben trai uong 1 ly", "Uong nua ly", "Thang ben phai quat 1 ly", "Ca ban cung zo", "Quat 1 ly ruoi", "Khong phai quay vong sau", "Quat 3 mieng moi", "Quat 2 ly", "Qua luot", "Quat phat 3 ly", "Giong thang tiep theo")
    Randomize
    n = Int(360 * Rnd) + (Int(7 * Rnd) + 2) * 360
    r = 15
    d = Int(n / r)
    For i = 1 To n Step r
        Sheet1.Shapes.Range(Array("VongQuay")).Rotation = Sheet1.Shapes.Range(Array("VongQuay")).Rotation + r
        DoEvents
        v = Sheet1.Shapes.Range(Array("VongQuay")).Rotation Mod 360
        Sheet1.Shapes.Range(Array("DOXOAY")).TextFrame2.TextRange.Text = v
        Sheet1.Shapes.Range(Array("KQ")).TextFrame2.TextRange.Text = dArr(Int(v / 30))
        If i > d * k Then
          r = r - 1
          k = k + 1
        End If
    Next i
End Sub

Muốn sửa các chữ trong vòng quay thì phải thay luôn cái vòng khác hả anh
 
Chào Anh/Chị.

Mình thấy hiện tại có nhiều chương trình vòng quay may mắn, thấy cũng vui. Không biết trên Excel mình có làm đươc như vậy không.
Các ô nội dung mình tùy chỉnh 10 hay 15 ô gì cũng được, và khi quay nó chạy tự động thay đổi (ngẫu nhiên thì sẽ công bằng hơn). Nhờ Anh/chị giúp.

Cám ơn nhiều.

View attachment 206720
Thử 1 kiểu khác.

A_H.JPG

A_H.JPG
 

File đính kèm

Lần chỉnh sửa cuối:

File đính kèm

Nếu sửa ít hơn 12 ô thì có được không anh. Anh chỉ giúp em với.
Như đã đề cập ở #10, bạn có thể dùng photoshop để thực hiện. Còn bạn muốn làm từ a đến z cho bạn cũng được, nhưng bạn phải cho biết là có bao nhiêu ô giá trị. Nhưng giúp xong lần sau muốn thay đổi bạn lại nhờ nửa đấy.
 
Như đã đề cập ở #10, bạn có thể dùng photoshop để thực hiện. Còn bạn muốn làm từ a đến z cho bạn cũng được, nhưng bạn phải cho biết là có bao nhiêu ô giá trị. Nhưng giúp xong lần sau muốn thay đổi bạn lại nhờ nửa đấy.

Anh làm giúp em 1 cái 8 hình nữa nha anh.
 
Anh làm giúp em 1 cái 8 hình nữa nha anh.
Nếu yêu cầu không cao thì tôi hướng dẫn bạn thực hiện thế này. Vào powerpoint và vẽ 3 cái vòng tròn và định dạng như hình dưới (Cái hình có màu nền đặt phía dưới cùng).
H1.png
Sau đó bạn canh 3 cái vòng tròn này vào đúng vị trí và group nó lại như hình.
H2.png
Sau đó nháy nút phải chuột vào hình và chọn Save as Picture.
H3.png
Bạn mở phần mềm Paint có sẳn trong Windows và mở cái hình bạn vừa save lên, sau đó dùng công cụ Fill With Color để tô màu giống như hình.
H4.png
Bây giờ bạn vào Excel và chèn cái hình này vào, sau đó chọn hình và thực hiện theo hình chọn lệnh Set TransParent Color, nháy chuột vào vùng màu đen trong hình để bỏ cái màu đen đi, thế là bạn được cái bạn cần.
 

File đính kèm

Nếu yêu cầu không cao thì tôi hướng dẫn bạn thực hiện thế này. Vào powerpoint và vẽ 3 cái vòng tròn và định dạng như hình dưới (Cái hình có màu nền đặt phía dưới cùng).
View attachment 206765
Sau đó bạn canh 3 cái vòng tròn này vào đúng vị trí và group nó lại như hình.
View attachment 206766
Sau đó nháy nút phải chuột vào hình và chọn Save as Picture.
View attachment 206773
Bạn mở phần mềm Paint có sẳn trong Windows và mở cái hình bạn vừa save lên, sau đó dùng công cụ Fill With Color để tô màu giống như hình.
View attachment 206768
Bây giờ bạn vào Excel và chèn cái hình này vào, sau đó chọn hình và thực hiện theo hình chọn lệnh Set TransParent Color, nháy chuột vào vùng màu đen trong hình để bỏ cái màu đen đi, thế là bạn được cái bạn cần.

Hình em có thể vẽ được, cái khó là làm sao đưa chữ vào hình thôi, giống như anh đổi trên excel là chữ trong hình đổi, chứ còn gõ vô từng ô thì hơi lâu, và mỗi khi thay đổi lại phải làm lại.
 
Hình em có thể vẽ được, cái khó là làm sao đưa chữ vào hình thôi, giống như anh đổi trên excel là chữ trong hình đổi, chứ còn gõ vô từng ô thì hơi lâu, và mỗi khi thay đổi lại phải làm lại.
Cái này đơn giản mà bạn, bạn vẽ cái Textbox trong sheet, sau đó chọn cái textbox vừa vẽ, nháy chuột lên ô công thức và gõ địa chỉ cái ô bạn cần tham chiếu đến xong Enter và xem kết quả. Còn cái Textbox thì bạn thoải mái xoay ngang hay dọc tùy ý, di chuyển các Textbox vào nơi phù hợp, chọn tất cả các Textbox và cả luôn cái vòng xoay kia và Group lại là xong, công đoạn cuối cùng là đặt tên cho cái group này là xong. Bạn có thể tham khảo file ở trên của tôi ở #10, chọn cái vòng xoay kia và UnGroup thử xem thế nào.
 
Cái này đơn giản mà bạn, bạn vẽ cái Textbox trong sheet, sau đó chọn cái textbox vừa vẽ, nháy chuột lên ô công thức và gõ địa chỉ cái ô bạn cần tham chiếu đến xong Enter và xem kết quả. Còn cái Textbox thì bạn thoải mái xoay ngang hay dọc tùy ý, di chuyển các Textbox vào nơi phù hợp, chọn tất cả các Textbox và cả luôn cái vòng xoay kia và Group lại là xong, công đoạn cuối cùng là đặt tên cho cái group này là xong. Bạn có thể tham khảo file ở trên của tôi ở #10, chọn cái vòng xoay kia và UnGroup thử xem thế nào.

Mới tìm ra cách vẽ là nhờ Chart Pie. Muốn chia vòng tròn bao nhiêu phần thì chọn bao nhiêu cột là xong, hihi
 
Mới tìm ra cách vẽ là nhờ Chart Pie. Muốn chia vòng tròn bao nhiêu phần thì chọn bao nhiêu cột là xong, hihi
Pie chart tôi làm từ hôm qua, quay trên biểu đồ luôn chứ không phải quay cái hình. Quay hình hình không cân là bị lệch tâm ngay.
Làm trên biểu đồ mấy cái chữ dài nó quay quay nên tôi không đăng lên :D.
 

File đính kèm

Pie chart tôi làm từ hôm qua, quay trên biểu đồ luôn chứ không phải quay cái hình. Quay hình hình không cân là bị lệch tâm ngay.
Làm trên biểu đồ mấy cái chữ dài nó quay quay nên tôi không đăng lên :D.

Cái của ông đơn giản hơn nè
 
Pie chart tôi làm từ hôm qua, quay trên biểu đồ luôn chứ không phải quay cái hình. Quay hình hình không cân là bị lệch tâm ngay.
Làm trên biểu đồ mấy cái chữ dài nó quay quay nên tôi không đăng lên :D.
Thấy đẹp quá nên em thử quay vài vòng.. rồi cái mũi tên chỉ đúng vạch. Giờ làm sao chia quà được anh?
 
Thấy đẹp quá nên em thử quay vài vòng.. rồi cái mũi tên chỉ đúng vạch. Giờ làm sao chia quà được anh?
Bởi vậy mới có cái textbox hiện kết quả đó. Ra chữ nào trao chữ đó thôi, quy ước lấy bên trái kim, code sai kim chỉ giữa bầu mà hiện chữ cua cũng phải chung cửa cua :D (hoặc phải chung cả 2 :D)
 
Bởi vậy mới có cái textbox hiện kết quả đó. Ra chữ nào trao chữ đó thôi, quy ước lấy bên trái kim, code sai kim chỉ giữa bầu mà hiện chữ cua cũng phải chung cửa cua :D (hoặc phải chung cả 2 :D)

Chung cả 2 chắc đỗ nợ. Bầu cua là 3 hột, cái này có 1 đâu có chơi được
 
Người ta vẫn chơi được đó. 1 ô có 3 mặt.

Quay kim không giống thật. Thực tế kim nhẹ không đủ lực quán tính để quay :)

Nói chứ chủ yếu làm chơi cho vui mấy trò ăn nhậu hay ai phải đi mua mồi thôi, chứ cờ bạc thì trực tiếp cho nó máu.
 
Pie chart tôi làm từ hôm qua, quay trên biểu đồ luôn chứ không phải quay cái hình. Quay hình hình không cân là bị lệch tâm ngay.
Làm trên biểu đồ mấy cái chữ dài nó quay quay nên tôi không đăng lên :D.
Khi e muốn thêm dữ liệu từ B2:C9 thì ô công thức INDEx bị lỗi, không thể lấy tới C9 được, giúp e với
=INDEX(B2:B7,ROWS(B2:B7)-SUM(--(MMULT(--(ROW(C2:C7)+TRANSPOSE(ROW(C2:C7))>=ROWS(C2:C7)+ROW(C2)+1),C2:C7/SUM(C2:C7)*360)<E1)))
 
Khi e muốn thêm dữ liệu từ B2:C9 thì ô công thức INDEx bị lỗi, không thể lấy tới C9 được, giúp e với
=INDEX(B2:B7,ROWS(B2:B7)-SUM(--(MMULT(--(ROW(C2:C7)+TRANSPOSE(ROW(C2:C7))>=ROWS(C2:C7)+ROW(C2)+1),C2:C7/SUM(C2:C7)*360)<E1)))
Kinh nghiệm: Khi muốn thêm dữ liệu mà không muốn sửa tham chiếu (hoặc không biết sửa thế nào) thì hãy chèn thêm dòng ở giữa dữ liệu (một vị trí nào đó dưới dòng đầu tiên và trên dòng cuối cùng), sau đó nhập dữ liệu và copy công thức.
 
Kinh nghiệm: Khi muốn thêm dữ liệu mà không muốn sửa tham chiếu (hoặc không biết sửa thế nào) thì hãy chèn thêm dòng ở giữa dữ liệu (một vị trí nào đó dưới dòng đầu tiên và trên dòng cuối cùng), sau đó nhập dữ liệu và copy công thức.
Dạ, e cám ơn! E làm đc rồi, nhưng e vẫn không hiểu sao mỗi khi lick chuột vào ô F1 (ô có hàm InDEx thì lại lỗi NA, e không tài nào sửa đc ô đó. Dù cho có sửa ô F1 hay không, chỉ cần bấm Enter vào đó rồi di chuyển chuột ra cũng báo lỗi NA nữa, a có thể giải thích e hiểu đc ko. E cám ơn!
 
Dạ, e cám ơn! E làm đc rồi, nhưng e vẫn không hiểu sao mỗi khi lick chuột vào ô F1 (ô có hàm InDEx thì lại lỗi NA, e không tài nào sửa đc ô đó. Dù cho có sửa ô F1 hay không, chỉ cần bấm Enter vào đó rồi di chuyển chuột ra cũng báo lỗi NA nữa, a có thể giải thích e hiểu đc ko. E cám ơn!
Đừng nhấn Enter mà hãy thử Ctrl+Shift+Enter xem thế nào.
 
Vì anh Bill đã qui định là công thức mảng phải kết thúc bằng Ctrl+Shift+Enter.
a có thể hướng dẫn e làm sao cho thời gian vòng quay ngắn lại không. ví dụ: giờ 2 muốn nó quay khoảng 10 giây thôi là ngưng đó a?
Mã:
Sub Macro1()
Dim ChGroup As ChartGroup, i As Long, j As Long, k As Long, SeriesCol As SeriesCollection
Set ChGroup = ActiveSheet.ChartObjects(1).Chart.ChartGroups(1)
j = ChGroup.FirstSliceAngle
For k = 15 To 2 Step -1
    For i = 1 To 360 / k
        j = (j + k) Mod 360
        ChGroup.FirstSliceAngle = j
        [E1].Value = j
        DoEvents
    Next
Next
Randomize
k = Int(360 * Rnd) + 1
For i = 1 To k
    j = (j + 1) Mod 360
    ChGroup.FirstSliceAngle = j
    [E1].Value = j
    DoEvents
Next
End Sub
 
Em chào anh , anh có thể làm giúp em vòng xoay theo như trong ảnh được không ạ
Làm theo lập trình toán hay lập trình game?
Nếu lập trình game thì phải kiếm mấy cái diễn đàn chuyên về cái này.

Nói chứ chủ yếu làm chơi cho vui mấy trò ăn nhậu hay ai phải đi mua mồi thôi, chứ cờ bạc thì trực tiếp cho nó máu.
Mua mồi thì "quay chai bia" mới đúng. Chứ ai đâu thèm nhậu lại phải mở máy, mở file, chọn số, rườm rà quá
 
Lần chỉnh sửa cuối:

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

Back
Top Bottom