Xác định số lần lặp theo điều kiện (1 người xem)

  • Thread starter Thread starter 1986QV
  • Ngày gửi Ngày gửi
Liên hệ QC

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

1986QV

Thành viên hoạt động
Tham gia
15/5/12
Bài viết
114
Được thích
6
Nghề nghiệp
Kỹ sư
Thực ra bài toán này có các bác hoangvuluan ,quanghai1969,ndu96081631,concogia,sealand... tham gia tích cực cho bài viết trước với nội dung như trên. Qua thực tế sử dụng với số lượng lớn thì không phù hợp(phù hợp ở đây không phải là code không chuẩn, mà do số lượng màu giới hạn là 56màu) Do đó qua sử dụng em nảy ra ý tưởng này mong các bác cùng các bạn giúp cho. Đó xây dựng thuật toán trên VBA xác định số lần trùng lặp của một con số từ 3, 4, 5 lần thì cho 1 màu chính vì vậy sẽ tăng được số lượng số cho cùng số màu có được(n=56). Trong code VBA các bác cùng các bạn có thể có phần thay đổi số lần trùng lặp từ 3, or 4, or 5.( hoặc có code VBA cho các lần 3,4,5). Tôi mong sớm có sự phản hồi tích cực từ forum GPE.
Tôi chân thành cảm ơn các bạn quan tâm và forum GPE giúp đỡ cho công việc học tập hiệu quả!

 

File đính kèm

Các bạn Viết code cho trường hợp 3 lần dùm mình.
Cảm ơn sự quan tâm và giúp đỡ của các bạn.
 
Upvote 0
Các bạn Viết code cho trường hợp 3 lần dùm mình.
Cảm ơn sự quan tâm và giúp đỡ của các bạn.

Thử thế này xem có ép phê không, từ 3 lần trở lên mới tô màu

PHP:
Sub tomau_xuoi()
Application.ScreenUpdating = False
Dim cell As Range, n As Byte
UsedRange.Interior.ColorIndex = 0
   For Each cell In UsedRange
      If Application.CountIf(UsedRange, cell.Text) > 2 Then
         If cell.Value > 56 Then
            n = cell.Value - 56
         Else
            n = cell.Value
         End If
         cell.Interior.ColorIndex = n
         n = 0
      End If
   Next cell
Application.ScreenUpdating = True
End Sub
 
Upvote 0
Chuẩn. Nhưng cứ dính tới số 00 lặp 3,4 hoặc 5 lần lại không ăn thế hơi lạ. Anh xem lai giúp em.
Cảm ơn Anh quanghai1969!
 
Lần chỉnh sửa cuối:
Upvote 0
Chuẩn. Nhưng cứ dính tới số 00 lặp 3,4 hoặc 5 lần lại không ăn thế hơi lạ. Anh xem lai giúp em.
Cảm ơn Anh quanghai1969!

Chỉnh lại thế này xem thế nào, 00 không tô màu là đúng rồi vì mình lấy giá trị của số để tô màu mà

PHP:
Sub tomau_xuoi()
Dim cell As Range, n As Byte
UsedRange.Interior.ColorIndex = 0
For Each cell In UsedRange
  If Application.CountIf(UsedRange, cell.Text) > 2 Then
    If cell <> "" Then
      If cell.Value > 53 Then
        n = cell.Value - 53
      ElseIf cell.Value = 0 Then
        n = 15
      Else
        n = cell.Value
      End If
      cell.Interior.ColorIndex = n + 3
      n = 0
    End If
  End If
Next cell
End Sub
 
Upvote 0
Thực ra bài toán này có các bác hoangvuluan ,quanghai1969,ndu96081631,concogia,sealand... tham gia tích cực cho bài viết trước với nội dung như trên. Qua thực tế sử dụng với số lượng lớn thì không phù hợp(phù hợp ở đây không phải là code không chuẩn, mà do số lượng màu giới hạn là 56màu) Do đó qua sử dụng em nảy ra ý tưởng này mong các bác cùng các bạn giúp cho. Đó xây dựng thuật toán trên VBA xác định số lần trùng lặp của một con số từ 3, 4, 5 lần thì cho 1 màu chính vì vậy sẽ tăng được số lượng số cho cùng số màu có được(n=56). Trong code VBA các bác cùng các bạn có thể có phần thay đổi số lần trùng lặp từ 3, or 4, or 5.( hoặc có code VBA cho các lần 3,4,5). Tôi mong sớm có sự phản hồi tích cực từ forum GPE.
Tôi chân thành cảm ơn các bạn quan tâm và forum GPE giúp đỡ cho công việc học tập hiệu quả!

Gởi bạn một cách làm
Nhấn nút ==> xuất hiện bảng ==> nhập số lần xuất hiện ( 2 hoặc 3 hoặc 4.....)==> Ok
Trúng thì tốt, trật thì .....xài cái của Quang Hải
Híc
 

File đính kèm

Upvote 0
Tôi đang nghĩ theo hướng khác 1 chút! Ta có 56 màu nền + 54 màu chữ ---> Nếu kết hợp với nhau sẽ cho ra 56*56 = 3136 kiểu tô màu ---> Thoải mái mà tô
 
Upvote 0
Tôi đang nghĩ theo hướng khác 1 chút! Ta có 56 màu nền + 54 màu chữ ---> Nếu kết hợp với nhau sẽ cho ra 56*56 = 3136 kiểu tô màu ---> Thoải mái mà tô

Chưa nói tới màu nền + màu chữ tương tự nhau khó đọc, phải loại trừ màu nền trùng màu chữ, chỉ còn 56 x 55 = 3080
Loại thêm 1 số sự kết hợp khác (màu tương tự chỉ khác đậm lợt) đọc lòi con mắt ...
 
Upvote 0
Chưa nói tới màu nền + màu chữ tương tự nhau khó đọc, phải loại trừ màu nền trùng màu chữ, chỉ còn 56 x 55 = 3080
Loại thêm 1 số sự kết hợp khác (màu tương tự chỉ khác đậm lợt) đọc lòi con mắt ...
Chỉ là ý tưởng thôi sư phụ à
Đầu tiên phải chịu cực tạo bảng tra 2 chiều để xem việc phối màu thế nào là dễ nhìn nhất ---> Với nhiêu đó màu, chẳng lẽ không phối ra được 1000 cách tô?
 
Upvote 0
Các bác viết bài xác định bài xuôi con trường hợp đảo thì sao các bác? Em cũng mong các bác viết trường hợp đảo giúp em.
Cảm ơn mọi người đã quan tâm và giúp đỡ!
 
Upvote 0
Các bác viết bài xác định bài xuôi con trường hợp đảo thì sao các bác? Em cũng mong các bác viết trường hợp đảo giúp em.
Cảm ơn mọi người đã quan tâm và giúp đỡ!

Bạn xem code này rồi tính tiếp
Mình không biết trường hợp như thế này có tô màu hay không vì bạn muốn tô màu khi có trùng 3 lần, vì là đảo lại nên sẽ được 3 lần trong trường hợp này:

25 52 52

15 51 51 15

PHP:
Sub tomau_nguoc()
Dim cell As Range, n As Byte, dulieu
Set dulieu = Sheet2.UsedRange
dulieu.Interior.ColorIndex = xlNone
With Application
  For Each cell In dulieu
    If cell.Value <> "" Then
      n = cell.Value
      n = IIf(StrReverse(n) > n, n, StrReverse(n))
      n = IIf(n > 53, n - 53, n)
      If .CountIf(dulieu, cell.Text) > 2 Then
        cell.Interior.ColorIndex = n + 3
      ElseIf .CountIf(dulieu, cell.Text) > 1 And .CountIf(dulieu, StrReverse(cell.Text)) > 1 Then
        cell.Interior.ColorIndex = n + 3
      ElseIf .CountIf(dulieu, StrReverse(cell.Text)) > 1 Then
        cell.Interior.ColorIndex = n + 3
      ElseIf .CountIf(dulieu, cell.Text) > 1 And .CountIf(dulieu, StrReverse(cell.Text)) > 0 Then
        cell.Interior.ColorIndex = n + 3
      End If
    End If
  Next cell
End With
End Sub
 
Upvote 0
phần này bác coi lại :

Set dulieu = Sheet2.UsedRange
dulieu
.Interior.ColorIndex = xlNone

Thanks!
 
Upvote 0
Đúng vậy sheet1 chuẩn hơn. HjHj bác để dữ liệu qua sheet2 mà của em sheet1 nên không chạy đc.
Cảm ơn bác, Cảm ơn mọi người quan tâm và giúp đỡ!
 
Upvote 0
bài toán ngược với số lượng lặp 5,6,7,8 có được không bác Quanghai1969. Được bác chỉnh lại em cái code lên vậy giúp em
Cảm ơn bác nha!
 
Upvote 0
Bài toán ngược với số lượng lặp 5,6,7,8 tùy chỉnh có được không Các bác. Được bác chỉnh lại em cái code lên vậy giúp em.
Cảm ơn A/E trong diễn đàn nha!
 
Upvote 0
Bài toán ngược với số lượng lặp 5,6,7,8 tùy chỉnh có được không Các bác. Được bác chỉnh lại em cái code lên vậy giúp em.
Cảm ơn A/E trong diễn đàn nha!
Mình đánh cuộc với bạn là sẽ không ai trả lời vì chả ai hiểu bạn cần gì. Muốn có câu trả lời thì gởi file lên và ghi chú rõ ràng, may ra có câu trả lời cho bạn.
 
Upvote 0
Xác định số lần lặp theo cặp số

Xác định số lần lặp theo cặp số dựa vào VBA (ví dụ:15,51 hoặc 25,52...là 1 cặp số cần tô màu theo số lần lặp) có số lần lặp của cặp đó từ 5,6,7,8 lần trở lên thì cùng 1 màu sắc và có thể tùy chỉnh số lần lặp đó theo ý muốn. Đó chính là bài toán ngược của bài toán ban đầu đưa ra.
Rất cảm ơn nhắc nhở của bác quanghai1969.
Cảm ơn mọi người quan tâm và giúp đỡ mình trong công việc!
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Xác định số lần lặp theo cặp số dựa vào VBA (ví dụ:15,51 hoặc 25,52...là 1 cặp số cần tô màu theo số lần lặp) có số lần lặp của cặp đó từ 5,6,7,8 lần trở lên thì cùng 1 màu sắc và có thể tùy chỉnh số lần lặp đó theo ý muốn. Đó chính là bài toán ngược của bài toán ban đầu đưa ra.
Rất cảm ơn nhắc nhở của bác quanghai1969.
Cảm ơn mọi người quan tâm và giúp đỡ mình trong công việc!
Hihi, nhìn một đống câu cú giải thích này xong nhìn vào trong bài mình thấy.......cóc có hiểu gì ráo
Phải nói là khó hiểu thật+-+-+-++-+-+-++-+-+-+
Hôm nay ế quá nên làm đại hên thì trúng còn xui thì.......ráng chịu
Bấm vào đầu con mèo ==> xuất hiện một bảng ==> nhập số lần xuất hiện của một số ( ngược và xuôi) muốn tìm để tô màu ==> nhân Ok
Híc. Dzái Trời....trật
Thân
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom