KHÓA HỌC NHÂN SỰ VÀ KỸ NĂNG MỀM SẮP KHAI GIẢNG TẠI SPRINGO! Tìm hiểu thêm

  • hot.gif ĐỪNG BỎ LỠ: mui_ten_1.gif

Tách dữ liệu một ô ra nhiều ô

hrspring.tides

HR Consultant
15,338
85
48
Ghé thăm trang
Chào anh chị. Cho em hỏi: Tạo macro Covert Text To Columns dữ liệu sau khi tách ra hơn 1000 ô, cụ thể:
Ô D1 đang là ô trống chưa có dữ liệu
Bước 1: di chuyển đến ô D1
Bước 2: Paste dữ liệu ra.
Xong 2 bước này thì mới thực hiện các lệnh tách ra các cột.
Hiện tại em đang làm thủ công như sau: Vào ô D1 thực hiện Ctr+V, Alt A E F. Vậy có cách nào để thực hiện nhanh không vậy?
Cám ơn các anh chị.
Code có thể sử dụng:
PHP:
Sub test()
    With ThisWorkbook.Worksheets("DAU VAO")
        .Range("E6").Copy
        .Range("D1").PasteSpecial xlPasteValues
        .Range("D1").TextToColumns Destination:=Range("D1"), DataType:=xlDelimited, _
                            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, _
                            Semicolon:=False, Comma:=False, Space:=True, Other:=False, TrailingMinusNumbers:=True
    End With
End Sub

Đầu tiên, các bạn cần phải bật tính năng Enable macro trong Excel theo hướng dẫn như sau:

1. Bấm vào tab File (tab trên cùng bên trái trong cửa sổ Excel).
2. Nhấp vào nút Excel Options.
3. Nhấp vào Trust Center trong menu bên trái.
4. Nhấp vào Trust Center Settings trong cửa sổ bên phải.
5. Trong cửa sổ mới mở, nhấp vào Macro Settings trong menu bên trái.
6. Chọn Enable all macros.
7. Nhấn vào OK.
8. Nhấn vào OK một lần nữa.
b980843b0301f55fac10-jpg.jpg

9. Đóng tất cả các ứng dụng Office và khởi động lại Excel.

Tải file đính kèm, bấm nút "Tach du lieu ra nhieu o":

Kết quả:
1632282871664.png


Nếu có câu hỏi hoặc vướng mắc, các bạn vui lòng phản hồi tại đây để được giải đáp nhé.
 

Đính kèm

Related threads
  • Chuyển đổi dữ liệu ngày tháng trong Excel
  • Tách ngày công theo điều kiện
  • Tách dữ liệu thành nhiều cột
  • Facebook Comment

    Similar threads

    BỐI CẢNH LỊCH SỬ CỦA QUẢN LÝ NGUỒN NHÂN LỰC Thuật ngữ "quản lý nguồn nhân lực" đã được sử dụng phổ biến trong khoảng mười đến mười lăm năm trở lại đây. Trước đó, lĩnh vực này thường được gọi là "quản lý nhân sự". Các cột mốc lịch sử trong phát triển HRM Frederick Taylor, được biết đến là cha...
    Trả lời
    0
    Xem
    11
    Bộ Chỉ huy Quân sự tỉnh, Công an tỉnh hải Dương đã huy động lực lượng trợ giúp nhân dân phòng, chống bão, di chuyển người, tài sản Khu vực tỉnh Hải Dương đã có mưa vừa đến mưa to, tổng lượng lượng mưa từ 19h ngày 6/9 đến 19h ngày 7/9 phổ biến từ 50-100mm, có nơi trên 150mm (cao nhất ở Ninh...
    Trả lời
    0
    Xem
    1
    Các lực lượng chức năng dọn cây đổ tại Thái Bình Theo báo cáo của Tỉnh Thái Bình, trên địa bàn tỉnh có tổng số 995 tàu, thuyền đã được neo đậu tại các bến trong và ngoài tỉnh an toàn trước khi bão đổ bộ vào. Toàn tỉnh có 1.179 chòi canh với 1.254 lao động canh coi trên các bãi ngao; 1.128 đầm...
    Trả lời
    0
    Xem
    1

    Xem thêm

    Code có thể sử dụng cho yêu cầu này: Option Explicit Sub TachCot() Dim Nguon Dim Kq Dim i, j, k Nguon = Sheet1.Range("A1").CurrentRegion k = Len(Nguon(1, 1)) - Len(Replace(Nguon(1, 1), ",", "")) + 1 ReDim Kq(1 To UBound(Nguon), 1 To k) For i = 1 To UBound(Nguon) k = 0 For Each j In...
    Trả lời
    0
    Xem
    412
    Câu hỏi được chia sẻ trong group zalo SprinGO Excel Nhân sự, cụ thể: Trường hợp này có thể xử lý được bằng VBA, thao tác: Đầu tiên, các bạn cần phải bật tính năng Enable macro trong Excel như sau: Tải file đính kèm. Click logo SPRINGO, và kiểm tra kết quả: Chúc các bạn thành công! Nếu có...
    Trả lời
    0
    Xem
    235
    • Dán lên cao
    Hỗ trợ chuyển dữ liệu ngày tháng xuất từ phần mềm về dạng phù hợp với bảng tính Excel, yêu cầu khá phức tạp và thiết thực với nhiều người nên mình gởi lên cho các bạn có nhu cầu tham khảo. Thuật toán dựa trên sự khác biệt về chênh lệch của từng thành phần: ngày, tháng và năm. Function nên áp...
    Trả lời
    0
    Xem
    189
    Trộn dữ liệu từ Excel sang Word ------------------------------------------------------------------------------------------- Lấy cảm hứng từ ý tưởng và file của bác Maika8008, tôi cũng thiết kế một phiên bản khác cho việc Trộn dữ liệu từ Excel sang Word. Phiên bản này tổng hợp các nhu cầu thực...
    Trả lời
    0
    Xem
    1K
    1. Dùng userform trên đó có ô textbox để nhập thông tin . Khi con trỏ nằm trong ô textbox này thì thực hiện quét QR . Mã QR đọc được sẽ ghi vô ô textbox này . 2. Sử dụng sự kiện change cho ô textbox để gọi thủ tục tìm kiếm . Kết quả tìm kiếm thể hiện trên listbox hay textbox khác . Bạn có thể...
    Trả lời
    0
    Xem
    1K

    Zalo Comment:

    SPRINGO ĐỒNG HÀNH CÙNG SỰ HỌC CỦA DOANH GIỚI & DOANH NGHIỆP

    3 / 12
    Ký hợp đồng tư vấn với công ty Chí Công...
    5 / 12
    Ký hợp đồng tư vấn quản trị nhân sự với Nhựa Hoàng Hà...
    6 / 12
    Ký hợp đồng tư vấn Công ty Wilson...
    7 / 12
    Ký hợp đồng tư vấn Công ty TDC...
    11 / 12
    Ký hợp đồng tư vấn quản trị nhân sự với Nhựa Hoàng Hà...
    12 / 12
    Ký hợp đồng tư vấn Hệ thống lương 3P...

    Có thể bạn quan tâm

    1. Bảng lương của bạn phải có thêm 1 cột password của từng nhân viên, và 1 cột email. 2. Dùng Macro tách từng nhân viên ra vào tạo thành file mới tương ứng với tên nhân viên, file sẽ được đặt pass trong lúc tạo 3. Dùng VBA thực hiện gởi mail tự động, code sẽ tự động đính kèm file vừa tạo. Đây là mẫu code tách file và có tự động đặt pass: Sub Tach_File() Application.ScreenUpdating = False Application.DisplayAlerts = False Dim Dic As Object Dim i As Long, Data(), Sdata As Range, Ma As Variant Set Dic = CreateObject("scripting.dictionary") Data = Range([A3], [J65536].End(3)).Value Set Sdata = Range([A2], [A65536].End(3)).Resize(, 10) For i = 1 To UBound(Data) If Data(i, 2) <> "" Then Dic.Item(Data(i, 2)) = Data(i, 10) End If Next For Each Ma In Dic.keys With Sdata .AutoFilter 2, Ma .SpecialCells(12).Copy Workbooks.Add With ActiveWorkbook .ActiveSheet.Name = Ma .ActiveSheet.[A2].PasteSpecial 1 .ActiveSheet.[A:J].Columns.AutoFit .SaveAs ThisWorkbook.path & "\" & Ma, 51, Dic.Item(Ma) .Close True End With .AutoFilter End With Next Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub Để thực thi lệnh tách file, đầu tiên bạn cần phải bật tính năng Enable macro trong Excel như sau: Hoàn tất, bấm nút "TACH FILE" để nhận kết quả. Chi tiết, các bạn tham khảo file đính kèm nhé.
    Đầu tiên, các bạn cần phải bật tính năng Enable macro trong Excel theo hướng dẫn như sau: Tải file đính kèm, tại Sheet "L-BO PHAN", click chọn ở ô C1 và C2 tương ứng: Chi tiết, các bạn có thể tham khảo file đính kèm. Nếu có câu hỏi hoặc vướng mắc, các bạn vui lòng phản hồi tại đây để được giải đáp nhé.
    1. Dùng userform trên đó có ô textbox để nhập thông tin . Khi con trỏ nằm trong ô textbox này thì thực hiện quét QR . Mã QR đọc được sẽ ghi vô ô textbox này . 2. Sử dụng sự kiện change cho ô textbox để gọi thủ tục tìm kiếm . Kết quả tìm kiếm thể hiện trên listbox hay textbox khác . Bạn có thể tham khảo code dưới đây: Option Explicit Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Dim dic As New Scripting.Dictionary Dim DanhSach As Variant, sNhanVien As String, i As Long '// KHONG PHAN BIET CHU HOA CHU THUONG dic.CompareMode = TextCompare '// DANH SACH NHAN VIEN DanhSach = Sheet1.Range("D1").CurrentRegion.Value For i = LBound(DanhSach, 1) To UBound(DanhSach, 1) sNhanVien = DanhSach(i, 1) If Not dic.Exists(sNhanVien) Then dic.Item(sNhanVien) = i Next i '// SCAN MA NHAN VIEN sNhanVien = TextBox1.Value If KeyCode = vbKeyReturn Then If dic.Exists(sNhanVien) Then '// NEU CO TRONG DANH SACH '// DUA XUONG COT A ActiveCell.Offset(1).Select ActiveCell.Value = sNhanVien Else MsgBox "Khong ton tai: " & sNhanVien & " trong danh sach!", vbCritical + vbOKOnly, "tuhocvba.net" End If TextBox1.Value = "" TextBox1.SetFocus KeyCode = 0 End If End Sub Private Sub UserForm_Initialize() Dim rng As Range Set rng = Sheet1.Range("A1") rng.Value = "THÔNG TIN BARCODE" rng.Activate End Sub
    Hỗ trợ chuyển dữ liệu ngày tháng xuất từ phần mềm về dạng phù hợp với bảng tính Excel, yêu cầu khá phức tạp và thiết thực với nhiều người nên mình gởi lên cho các bạn có nhu cầu tham khảo. Thuật toán dựa trên sự khác biệt về chênh lệch của từng thành phần: ngày, tháng và năm. Function nên áp dụng cho dữ liệu gốc xuất từ phần mềm chưa qua chế biến. Thao tác chuyển ngày tháng Đầu tiên, các bạn cần phải bật tính năng Enable macro trong Excel theo hướng dẫn như sau: 1/ Mở file ChuyenDoiNgayThangNam #SprinGO.xlsm 2/ Mở file có dữ liệu ngày tháng cần chuyển 3/ Chuyển dữ liệu: Cách 1: Chọn vùng dữ liệu cần chuyển Nhấn 3 phím: Ctrl + Shift + U Chọn ô đầu chứa kết quả trả về Chọn OK Cách 2: Nhấn 3 phím: Ctrl + Shift + K Chọn vùng dữ liệu cần chuyển Chọn ô đầu chứa kết quả trả về Chọn OK Cách 3: Giả sử vùng dữ liệu ở A2:A100, chọn A2:A100 Bấm Alt+F8, chọn "ChuyenNgayVung" Chọn OK Kết quả được trả về ở ô B2:B100 tương ứng Lưu ý: Dữ liệu ngày tháng phải là dữ liệu gốc, xuất từ phần mềm chưa qua xử lý. Nếu có vấn đề cần phải hoàn thiện, các bạn góp ý thêm nhé.
    Trên diễn đàn có rất nhiều chủ đề hỏi về Userform, cũng như nhiều bài viết giới thiệu hoặc chia sẻ về Userform. Tuy nhiên, không phải ai cũng nắm vững các kiến thức cơ bản về việc tạo dựng Userform. Kết quả là, nhiều Userform được tạo ra rất hoành tráng và đẹp mắt, nhưng khi xảy ra lỗi thì lại không biết nguyên nhân từ đâu. Đôi khi, việc tạo Userform không đúng trình tự khiến công việc trở nên khó khăn hơn, hoặc chọn các control không phù hợp làm cho mã code trở nên phức tạp hơn. Vì vậy, tôi muốn giới thiệu những kiến thức cơ bản nhất trong việc tạo dựng form, quy trình tuần tự để tạo form, và các thủ thuật hay nhất mà tôi đã tổng hợp trong một tài liệu tập trung. Tài liệu này bao gồm việc giới thiệu tất cả các control sử dụng trên Userform, các thuộc tính, phương thức tác động, và các sự kiện liên quan. Cũng như các trường hợp nên và không nên sử dụng. Ngoài ra, tài liệu còn cung cấp những thủ thuật hữu ích giúp viết mã code đơn giản mà vẫn hiệu quả, và làm cho form trở nên gọn gàng hơn mà không cần quá nhiều control. Hy vọng tài liệu này sẽ hữu ích cho những ai đang muốn bắt đầu xây dựng form, hoặc đang xây dựng form nhưng gặp khó khăn, kể cả những người đã hoàn chỉnh form nhưng gặp lỗi mà không biết nguyên nhân.
    Kết quả: Cách làm: - sub InsertPicture trong Module1 có thể dùng trong những tập tin khác nhau khi cần nhập ảnh vào sheet. Đọc hướng dẫn của InsertPicture để biết cách dùng. - trong module của Sheet1 có code Private Sub Worksheet_Change(ByVal Target As Range) Dim cell_ As Range, rng As Range If Target.Row = 1 And Target.Count = 1 Then InsertPicture ThisWorkbook.Path & "\" & Target.Value & ".jpg", Target.Offset(1).MergeArea, False, True, True End If End Sub Tức mỗi khi có sự thay đổi của 1 ô trong dòng 1 thì InsertPicture được gọi để nhập ảnh vào ô ở dòng bên dưới được merge - tức thay đổi ở Target thì ảnh được nhập vào Target.Offset(1).MergeArea - ảnh hiện thời được nhập center trong ô. - hiện thời các ảnh trên đĩa và tập tin Excel ở cùng thư mục. Nếu trong cùng thư mục với tập tin Excel có thư mục con là Anh và trong thư mục ảnh mới có các ảnh thì sửa "\" thành "\Anh\" - hiện thời ảnh là JPG. Nấu các ảnh đều là vd. PNG thì sửa ".jpg" thành ".png" - ảnh hiện thời được link. Tức không được lưu vĩnh viễn trong tập tin Excel, vì thế phải giữ ảnh trên đĩa để nó được nhập vào ô khi mở tập tin. Ví dụ ta nhập ảnh vĩnh viễn vào tập tin và xóa trên đĩa. Ảnh nhập vừa khít với ô. Nếu thế thì sửa thành InsertPicture ThisWorkbook.Path & "\" & Target.Value & ".jpg", Target.Offset(1).MergeArea, False, False, False Hoặc ngắn gọn là InsertPicture ThisWorkbook.Path & "\" & Target.Value & ".jpg", Target.Offset(1).MergeArea vì 3 giá trị FALSE là mặc định. Nguồn: GPE
    Code có thể sử dụng: Sub Paste_to_Visible_Rows() Dim Nguon As Range, Dich As Range Dim i As Long, r As Long Set Nguon = Application.InputBox(prompt:="Chon Vung Copy ", Type:=8) Set Dich = Application.InputBox(prompt:="Chep Den: (luu y: chi chon 1 o dau tien cua vùng can dán nhé: ", Type:=8) For i = 1 To Nguon.Rows.Count Do Until Not Dich.Offset(r).Rows.Hidden r = r + 1 Loop Nguon.Rows(i).Copy Destination:=Dich.Offset(r) r = r + 1 Next i End Sub Nếu có câu hỏi hoặc vướng mắc, các bạn vui lòng phản hồi tại đây để được giải đáp nhé.
    Trộn dữ liệu từ Excel sang Word ------------------------------------------------------------------------------------------- Lấy cảm hứng từ ý tưởng và file của bác Maika8008, tôi cũng thiết kế một phiên bản khác cho việc Trộn dữ liệu từ Excel sang Word. Phiên bản này tổng hợp các nhu cầu thực tế của người dùng đã trao đổi trong chủ để này, có thể chưa đầy đủ nhưng cũng đáp ứng cơ bản cho công việc. * Các chức năng: - Tùy chọn trộn dữ liệu: Một (hoặc nhiều) đối tượng cho một (hoặc nhiều) văn bản. - Tự động tạo tiêu đề cột riêng, không ảnh hưởng đến thiết kế bảng. - Không cần cố định vị trí (dòng, cột ) của dữ liệu cần trộn vì dùng tham chiếu qua Table name. - Chỉ lấy những dòng dữ liệu sau khi dùng Filter trong bảng dữ liệu. - Khắc phục lỗi khi trộn đoạn văn bản nhiều hơn 255 ký tự. - Trộn có kèm luôn file hình ảnh (.jpg, .png, .bmp). - Xuất file dạng .Docx, .PDF Thiết kế cũng chưa bẫy lỗi gì nhiều, chắc chắn sẽ phát sinh lỗi khi thao tác, các bạn chạy kiểm tra thử nhé. Tôi cũng đã thử dùng kết hợp tính năng Mail Merger có sẵn trong Word + VBA cho các tùy chọn nhưng tốc độ thực thi cũng không bằng một góc so với việc dùng thẳng Mail Merge (*) trong Word vì dù gì thì nó cũng đã qua code VBA để gọi tính năng Merge. (*) Dùng Mail Merge trong Word rất nhanh nhưng nó chỉ đáp ứng tùy chọn cơ bản, đó là lý do có nhiều công cụ viết mở rộng thêm cho tính năng này. wdocSource.MailMerge.OpenDataSource... Hướng dẫn sử dụng trong video. * Đã cập nhật bẫy lỗi và chuyển sang kết nối muộn (Late binding) với Word để tránh lỗi giữa các phiên bản Office. Nguồn: GPE Link file (full code): https://www.mediafire.com/file/8fc086iogo32cie/MergeDataExcel2Word.zip/file
    Ví dụ: Cách thực hiện: Đầu tiên, bạn cần phải bật tính năng Enable macro trong Excel theo hướng dẫn như sau: Tải file đính kèm, tại Sheet1, nhập liệu thông tin ở các tương ứng và xem kết quả!
    Câu hỏi: @Hoàng Kiên a ơi,e muốn tính tổng của các ô có các màu được không ạ, theo bảng a tính thì mới tính được mỗi màu vàng ạ Trả lời của bạn @Hoàng Kiên: Đầu tiên, các bạn cần phải bật tính năng Enable macro trong Excel như sau: Tải file đính kèm. Kết quả: Chúc các bạn thành công! Nếu có câu hỏi hoặc vướng mắc, các bạn vui lòng phản hồi tại đây để mình giải đáp nhé. Để thảo luận các vấn đề liên quan Excel - Nhân sự vui lòng tham gia nhóm dưới đây: HỖ TRỢ NHANH <table border="0" cellpadding="2" cellspacing="0" width="100%"> <tbody> <tr align="left"> <td> <a target="_blank" href="https://zalo.me/g/ecwlkd061"> <img width='22' style="padding-right: 8px; float: left; margin-bottom: 5px;" border="0" src="styles/default/xenforo/icon-zalo_2.png">SprinGO Excel Nhân sự</a> </td> </tr> <tr align="left"> <td> <a target="_blank" href="https://zalo.me/g/oloevi272"> <img width='22' style="padding-right: 8px; float: left; margin-bottom: 5px;" border="0" src="styles/default/xenforo/icon-zalo_2.png">Pháp Luật LĐ-BHXH-TNCN</a> </td> </tr> <tr align="left"> <td> <a target="_blank" href="https://zalo.me/g/wwxwzj495"> <img width='22' style="padding-right: 8px; float: left; margin-bottom: 5px;" border="0" src="styles/default/xenforo/icon-zalo_2.png">HR - English -SprinGO</a> </td> </tr> <tr align="left"> <td> <a target="_blank" href="https://zalo.me/g/vlchmj637"> <img width='22' style="padding-right: 8px; float: left; margin-bottom: 5px;" border="0" src="styles/default/xenforo/icon-zalo_2.png">Kiến thức và Kỹ năng Nghề Nhân sự</a> </td> </tr> <tr align="left"> <td> <a target="_blank" href="https://zalo.me/g/gzxphj104"> <img width='22' style="padding-right: 8px; float: left; margin-bottom: 5px;" border="0" src="styles/default/xenforo/icon-zalo_2.png">Share Job + Share CV</a> </td> </tr> <tr> <td> <a href="skype:kienthucnhansuthucte?chat"> <img width='22' style="padding-right: 8px; float: left; margin-bottom: 5px;" border="0" src="styles/default/xenforo/icon-skype.png">Hỗ trợ trực tuyến - Skype</a> </td> </tr> <tr> <td> <a href="https://msng.link/o/?kienthucnhansuthucte=fm"> <img width='22' style="padding-right: 8px; float: left; margin-bottom: 5px;" border="0" src="styles/default/xenforo/fb_messenger.png">Hỗ trợ trực tuyến</a> </td> </tr> <tr> <td> <b> <img width='22' style="padding-right: 8px; float: left; margin-bottom: 5px;" border="0" src="styles/default/xenforo/tell-icon.png"></b> <span style="color: #1c63c4; font-weight: bold;">0984 39 43 38</span> </td> </tr> <tr> <td> <b> <img width='22' style="padding-right: 8px; float: left; margin-bottom: 5px;" border="0" src="styles/default/xenforo/phone-icon.png"></b> <span style="color: red; font-weight: bold;">0969 79 89 44</span> </td> </tr> </tbody> </table>
    Top Bottom
    Đăng chủ đề