Word Cloud trong Excel | Làm thế nào để tạo đám mây Word với Excel VBA?
Word cloud còn được gọi là Tag cloud trong excel, là dạng biểu diễn trực quan của văn bản trong excel với các màu sắc hoặc định dạng khác nhau, trong word cloud tần suất thể hiện công việc được xác định bằng phông chữ của từ, điều này được thực hiện bằng cách sử dụng tính năng nghệ thuật và hình dạng thông minh của excel.
Word Cloud trong Excel là gì?
Word Cloud là tập hợp các từ để hiển thị dưới dạng trực quan trong excel. Tôi hy vọng bạn đã thấy một số trang tổng quan tốt nhất với các con số và hình ảnh trực quan sáng tạo trong excel. Bảng điều khiển có nhiều loại từ phông chữ sang trọng với màu sắc hấp dẫn với một số hình ảnh siêu nội dung với nó. Một trong những bảng điều khiển đặc biệt mà bạn phải thấy với “Word Cloud” . Nó trông giống như một hình ảnh tải xuống phần mềm phức tạp nhưng nó không được tải xuống từ bất kỳ đâu mà được tạo bằng mã hóa VBA trong Excel. Đúng!!! Bạn nói đúng, nó đã được tạo bằng mã hóa VBA và trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách tạo một đám mây từ như vậy bằng excel.
Làm thế nào để tạo một đám mây Word trong Excel?
Bạn có thể tải mẫu Word Cloud Excel này tại đây - Word Cloud Excel TemplateĐể tạo một đám mây từ trong excel, chúng ta cần có dữ liệu của các từ và màu sắc chúng ta cần cho những từ đó là gì. Giả sử bạn đang tạo một đám mây từ gồm 30 công thức excel. Vì vậy, hãy tạo một danh sách 30 công thức excel trong trang tính.
Viết các công thức trên vào trang tính của bạn trong cột đầu tiên.
Khi bạn viết các tên công thức ở trên vào cột B, hãy áp dụng hàm RANDBETWEEN cho tất cả 30 công thức như sau và giữ giá trị dưới cùng là 1 và giá trị trên cùng là 250.
Khi dữ liệu đã sẵn sàng, chúng ta cần chuyển đến Visual Basic Editor. Tạo Biểu mẫu người dùng như bên dưới trong VBA.
Bây giờ chúng ta cần cấu hình userform trong VBA, ở đây cho mỗi nút chúng ta cần viết mã. Dưới đây là mã cho mỗi nút.
Nhấp đúp vào nút “Màu sắc khác nhau” từ biểu mẫu người dùng ở trên và thêm mã bên dưới.
Mã:
Private Sub CommandButton1_Click () ColorCopeType = 0 Unload Me 'Cái này dành cho màu khác End Sub
Sau đó, nhấp đúp vào nút Màu đen và thêm mã bên dưới.
Mã:
Private Sub CommandButton2_Click () ColorCopeType = 1 Unload Me 'Cái này dành cho màu đen End Sub
Tương tự, đối với tất cả các nút khác, hãy thêm mã bên dưới.
Mã:
Private Sub CommandButton3_Click () ColorCopeType = 2 Unload Me 'Cái này dành cho màu đỏ End Sub Private Sub CommandButton4_Click () ColorCopeType = 3 Unload Me' Cái này dành cho màu xanh lục. màu xanh lam End Sub Private Sub CommandButton6_Click () ColorCopeType = 5 Unload Me 'Cái này dành cho màu vàng End Sub Private Sub CommandButton7_Click () ColorCopeType = 6 Unload Me' Cái này dành cho màu trắng End Sub
Khi chúng ta cấu hình mã, chúng ta cần khai báo biến trong mô-đun ở trên cùng.
Bây giờ chúng ta cần viết mã để tạo một đám mây từ dài. Dưới đây là mã.
Mã:
Sub word_cloud () Dim WordCloud As Range Dim x As Integer, y As Integer Dim ColumnA As Range, ColumnB As Range Dim WordCount As Integer Dim ColumCount As Integer, RowCount As Integer Dim WordColumn As Integer, WordRow As Integer Dim plotarea As Range, c As Range, d As Range, e As Range, f As Range, g As Range Dim z As Integer, w As Integer Dim plotareah1 As Range, plotareah2 As Range, dummy As Range Dim q As Integer, v As Integer Dim RedColor As Integer , GreenColor As Integer, BlueColor As Integer UserForm1.Show WordCount = -1 Set WordCloud = Sheets ("Word Cloud"). Range ("B2: H7") ColumnCount = WordCloud.Columns.Count RowCount = WordCloud.Rows.Count cho mỗi ColumnA Trong Trang tính ("Danh sách Công thức"). Phạm vi ("A: A") Nếu ColumnA.Value = ""Sau đó thoát Đối với các trường hợp khác WordCount = WordCount + 1 Kết thúc Nếu cột tiếp theoA Chọn trường hợp WordCount Trường hợp WordCount = 0 Đến 20 WordColumn = WordCount / 5 Trường hợp WordCount = 21 đến 40 WordColumn = WordCount / 6 Trường hợp WordCount = 41 đến 40 WordColumn = WordCount / 8 Trường hợp WordCount = 80 Đến 9999 WordColumn = WordCount / 10 End Chọn WordRow = WordCount / WordColumn x = 1 Đặt c = Sheets ("Word Cloud"). Range ("A1"). Offset ((RowCount / 2 - WordRow / 2), (ColumnCount / 2 - WordColumn / 2)) Đặt d = Sheets ("Word Cloud"). Range ("A1"). Offset ((RowCount / 2 + WordRow / 2), (ColumnCount / 2 + WordColumn / 2)) Đặt plotarea = Sheets ("Word Cloud"). Phạm vi (Sheets ("Word Cloud"). Cells (c.Row, c.Column), Sheets ("Word Cloud"). Cells (d.Row, d.Column) ) Đối với Mỗi e Trong plotarea e.Value = Trang tính ("Danh sách Công thức"). Phạm vi ("A1 "). Offset (x, 0) .Value e.Font.Size = 8 + Sheets (" Formula List "). Range (" A1 "). Offset (x, 0) .Offset (0, 1) .Value / 4 Chọn trường hợp ColorCopeType Case 0 RedColor = (255 * Rnd) + 1 GreenColor = (255 * Rnd) + 1 BlueColor = (255 * Rnd) + 1 Case 1 RedColor = 0 GreenColor = 0 BlueColor = 0 Case 2 RedColor = 255 GreenColor = 0 BlueColor = 0 Case 3 RedColor = 0 GreenColor = 255 BlueColor = 0 Case 4 RedColor = 0 GreenColor = 0 BlueColor = 255 Trường hợp 5 RedColor = 255 GreenColor = 255 BlueColor = 100 Trường hợp 6 RedColor = 255 GreenColor = 255 BlueColor = 255 End Select e.Font.Color = RGB (RedColor, GreenColor, BlueColor) e.HorizontalAlignment = xlCenter e.VerticalAlignment = xlCenter x = x + 1 If e.Value = "" Then Exit For End If Next e plotarea.Columns.AutoFit Kết thúc SubDanh sách công thức "). Phạm vi (" A1 "). Offset (x, 0) .Offset (0, 1) .Value / 4 Chọn Case ColorCopeType Case 0 RedColor = (255 * Rnd) + 1 GreenColor = (255 * Rnd) + 1 BlueColor = (255 * Rnd) + 1 Case 1 RedColor = 0 GreenColor = 0 BlueColor = 0 Case 2 RedColor = 255 GreenColor = 0 BlueColor = 0 Case 3 RedColor = 0 GreenColor = 255 BlueColor = 0 Trường hợp 4 RedColor = 0 GreenColor = 0 BlueColor = 255 Case 5 RedColor = 255 GreenColor = 255 BlueColor = 100 Case 6 RedColor = 255 GreenColor = 255 BlueColor = 255 End Chọn e.Font.Color = RGB (RedColor, GreenColor, BlueColor) e.HorizontalAlignment = xlCenter e. VerticalAlignment = xlCenter x = x + 1 If e.Value = "" Then Exit For End If Next e plotarea.Columns.AutoFit End SubDanh sách công thức "). Phạm vi (" A1 "). Offset (x, 0) .Offset (0, 1) .Value / 4 Chọn Case ColorCopeType Case 0 RedColor = (255 * Rnd) + 1 GreenColor = (255 * Rnd) + 1 BlueColor = (255 * Rnd) + 1 Case 1 RedColor = 0 GreenColor = 0 BlueColor = 0 Case 2 RedColor = 255 GreenColor = 0 BlueColor = 0 Case 3 RedColor = 0 GreenColor = 255 BlueColor = 0 Trường hợp 4 RedColor = 0 GreenColor = 0 BlueColor = 255 Case 5 RedColor = 255 GreenColor = 255 BlueColor = 100 Case 6 RedColor = 255 GreenColor = 255 BlueColor = 255 End Chọn e.Font.Color = RGB (RedColor, GreenColor, BlueColor) e.HorizontalAlignment = xlCenter e. VerticalAlignment = xlCenter x = x + 1 If e.Value = "" Then Exit For End If Next e plotarea.Columns.AutoFit End SubGiá trị / 4 Chọn trường hợp ColorCopeType Case 0 RedColor = (255 * Rnd) + 1 GreenColor = (255 * Rnd) + 1 BlueColor = (255 * Rnd) + 1 Case 1 RedColor = 0 GreenColor = 0 BlueColor = 0 Case 2 RedColor = 255 GreenColor = 0 BlueColor = 0 Case 3 RedColor = 0 GreenColor = 255 BlueColor = 0 Case 4 RedColor = 0 GreenColor = 0 BlueColor = 255 Trường hợp 5 RedColor = 255 GreenColor = 255 BlueColor = 100 Trường hợp 6 RedColor = 255 GreenColor = 255 BlueColor = 255 Kết thúc Chọn e.Font.Color = RGB (RedColor, GreenColor, BlueColor) e.HorizontalAlignment = xlCenter e.VerticalAlignment = xlCenter x = x + 1 If e.Value = "" Then Exit For End If Next e plotarea.Columns. AutoFit End SubGiá trị / 4 Chọn trường hợp ColorCopeType Case 0 RedColor = (255 * Rnd) + 1 GreenColor = (255 * Rnd) + 1 BlueColor = (255 * Rnd) + 1 Case 1 RedColor = 0 GreenColor = 0 BlueColor = 0 Case 2 RedColor = 255 GreenColor = 0 BlueColor = 0 Case 3 RedColor = 0 GreenColor = 255 BlueColor = 0 Case 4 RedColor = 0 GreenColor = 0 BlueColor = 255 Trường hợp 5 RedColor = 255 GreenColor = 255 BlueColor = 100 Trường hợp 6 RedColor = 255 GreenColor = 255 BlueColor = 255 Kết thúc Chọn e.Font.Color = RGB (RedColor, GreenColor, BlueColor) e.HorizontalAlignment = xlCenter e.VerticalAlignment = xlCenter x = x + 1 If e.Value = "" Then Exit For End If Next e plotarea.Columns. AutoFit End SubAutoFit End SubAutoFit End SubHorizontalAlignment = xlCenter e.VerticalAlignment = xlCenter x = x + 1 If e.Value = "" Then Exit For End If Next e plotarea.Columns.AutoFit End SubHorizontalAlignment = xlCenter e.VerticalAlignment = xlCenter x = x + 1 If e.Value = "" Then Exit For End If Next e plotarea.Columns.AutoFit End Sub
Sao chép và dán đoạn mã trên vào mô-đun của bạn. Trang tính có danh sách công thức phải được đặt tên là “Danh sách công thức”. Sau đó, chèn một trang tính mới trong excel và đặt tên là “Word Cloud”.
Trong trang tính mới được chèn, điều chỉnh Thu phóng thành 40% và điều chỉnh chiều cao hàng thành 85.
Vì vậy, bây giờ hãy thực thi mã trong VBA bằng cách nhấn nút F5, bạn sẽ thấy biểu mẫu người dùng chọn màu.
Chọn màu theo ý muốn của bạn, nếu bạn không muốn có một màu thì hãy chọn tùy chọn “Màu khác nhau”. Chúng ta sẽ lấy từ đám mây trong trang tính “Đám mây từ”.
Như thế này bằng cách sử dụng mã hóa VBA, chúng ta có thể tạo Word Cloud.