Mình có file cần tách dữ liệu trong 1 cột thành 2 cột theo giá trị tương ứng. Mình có gửi kèm theo file mẫu. Các bác cao thủ trợ giúp em phát. E mò mãi hàm indirect mà không ra.
D2=INDEX($B$2:$B$7,MATCH(0,COUNTIF(D$1:D1,IF(LEN($B$2:$B$7)=1,$B$2:$B$7,D$1)),0))
E2=INDEX($B$2:$B$7,MATCH(0,COUNTIF(E$1:E1,IF(LEN($B$2:$B$7)=2,$B$2:$B$7,E$1)),0))
Thử File.Mình có file cần tách dữ liệu trong 1 cột thành 2 cột theo giá trị tương ứng. Mình có gửi kèm theo file mẫu. Các bác cao thủ trợ giúp em phát. E mò mãi hàm indirect mà không ra.
Thanks các bác rất nhiều, file của bác "be09" quá tuyệt vời!Thử File.
1/ Muốn xem code thì nhấn phím Alt+F11.Cảm ơn các bác rất nhiều, file của bác "be09" quá tuyệt vời!
Bác có thể chia sẻ cho e code và cách làm macro cho bài này được không ạ? Vậy qua tham khảo hướng dẫn của các bác, bản chất là dùng hàm "INDEX" cho trường hợp này. Đây là mẫu file e mô tả việc nhập dữ liệu từ máy quét barcode cho việc check mã Vận đơn đã xác nhận xuất đi cho giao vận.
Có công cụ này, việc làm biên bản giao nhận và trích lọc dữ liệu tiện hơn rất nhiều so với dùng "filter".
Bác be09 giải thích giùm ý nghĩa vòng lặp for được không, xem mà đoạn này hơi khó hiểuThử File.
Option Explicit
Sub Chuyen_DuLieu()
Dim xCell As Variant
Dim rCell, Vung, GanDuLieu As Range
Dim i As Long
Sheet1.Range("D1").CurrentRegion.Offset(1).ClearContents
Set Vung = Range("B2", Range("B" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeConstants)
Set GanDuLieu = Range("D2").Resize(1, 2)
For Each rCell In Vung.Areas
For Each xCell In rCell.Value
i = i + 1
GanDuLieu(i) = xCell
Next
Next
End Sub