Chuyển dữ liệu được sắp xếp từ 1 sheet sang sheet mới

Liên hệ QC

hadoan-pap

Thành viên tiêu biểu
Tham gia
8/7/15
Bài viết
453
Được thích
18
Em chào mọi người!

Dạ, em có 1 bài toán muốn chuyển dữ liệu được sắp xếp từ Sheet "Before" sang Sheet "After" như file đính kèm ạ.

Dữ liệu này được sắp xếp và em không biết làm thế nào để tách dữ liệu được ở các ô mà em có bôi vàng trong sheet "Before" sang Sheet "After" theo từng hàng được ạ.

Rất mong sự giúp đỡ của mọi người!

Em Xin chân thành cảm ơn ạ!
 

File đính kèm

  • File.xlsx
    32.8 KB · Đọc: 11
Em chào mọi người!

Dạ, em có 1 bài toán muốn chuyển dữ liệu được sắp xếp từ Sheet "Before" sang Sheet "After" như file đính kèm ạ.

Dữ liệu này được sắp xếp và em không biết làm thế nào để tách dữ liệu được ở các ô mà em có bôi vàng trong sheet "Before" sang Sheet "After" theo từng hàng được ạ.

Rất mong sự giúp đỡ của mọi người!

Em Xin chân thành cảm ơn ạ!
1. Ô J5 của Before có thêm dòng trống dưới cùng nhưng K5 lại không có => tôi phải xóa dòng trống ấy để thống nhất khi viết code
2. Chỉ làm cho dữ liệu mà bạn yêu cầu (J5 và K5)
Rich (BB code):
Sub MoveData()
    Dim aStep, aExp
    Dim sStep$, sExp$, i&, Frw&
   
    sStep = Sheets("Before").Range("J5").Value
    sExp = Sheets("Before").Range("K5").Value
   
    aStep = Split(sStep, Chr(10))
    ReDim arsl(1 To UBound(aStep) + 1, 1 To 2)
    For i = 0 To UBound(aStep)
        arsl(i + 1, 1) = Left(aStep(i), InStr(1, aStep(i), ".") - 1)
        arsl(i + 1, 2) = Trim(Mid(aStep(i), InStr(1, aStep(i), ".") + 1))
    Next
    Sheets("after").Range("D3").Resize(UBound(arsl), 2).Value = arsl
   
    aExp = Split(sExp, Chr(10))
    Frw = Left(sExp, InStr(1, sExp, ".") - 1)
    ReDim arsl(1 To UBound(aExp) + 1, 1 To 1)
    For i = 0 To UBound(aExp)
        arsl(i + 1, 1) = Trim(Mid(aExp(i), InStr(1, aExp(i), ".") + 1))
    Next
    Sheets("after").Cells(Frw + 2, 6).Resize(UBound(arsl), 1).Value = arsl
End Sub
 
Upvote 0
1. Ô J5 của Before có thêm dòng trống dưới cùng nhưng K5 lại không có => tôi phải xóa dòng trống ấy để thống nhất khi viết code
2. Chỉ làm cho dữ liệu mà bạn yêu cầu (J5 và K5)
Rich (BB code):
Sub MoveData()
    Dim aStep, aExp
    Dim sStep$, sExp$, i&, Frw&
  
    sStep = Sheets("Before").Range("J5").Value
    sExp = Sheets("Before").Range("K5").Value
  
    aStep = Split(sStep, Chr(10))
    ReDim arsl(1 To UBound(aStep) + 1, 1 To 2)
    For i = 0 To UBound(aStep)
        arsl(i + 1, 1) = Left(aStep(i), InStr(1, aStep(i), ".") - 1)
        arsl(i + 1, 2) = Trim(Mid(aStep(i), InStr(1, aStep(i), ".") + 1))
    Next
    Sheets("after").Range("D3").Resize(UBound(arsl), 2).Value = arsl
  
    aExp = Split(sExp, Chr(10))
    Frw = Left(sExp, InStr(1, sExp, ".") - 1)
    ReDim arsl(1 To UBound(aExp) + 1, 1 To 1)
    For i = 0 To UBound(aExp)
        arsl(i + 1, 1) = Trim(Mid(aExp(i), InStr(1, aExp(i), ".") + 1))
    Next
    Sheets("after").Cells(Frw + 2, 6).Resize(UBound(arsl), 1).Value = arsl
End Sub
Dạ em cảm ơn ạ.

Liệu mình có thể kiểm tra và xóa dòng trống trước khi thực hiện không ạ.

Và em có dữ liệu như sheet "Before", em muốn đưa sang Sheet "After" như trong file đính kèm ạ. Em có add them 1 hàng nữa trong sheet Before.

Em cảm ơn anh nhiều!
 

File đính kèm

  • File.xlsm
    43.4 KB · Đọc: 9
Upvote 0
Dạ em cảm ơn ạ.

Liệu mình có thể kiểm tra và xóa dòng trống trước khi thực hiện không ạ.

Và em có dữ liệu như sheet "Before", em muốn đưa sang Sheet "After" như trong file đính kèm ạ. Em có add them 1 hàng nữa trong sheet Before.

Em cảm ơn anh nhiều!
Tạm thời chưa kiểm tra, xóa dòng trống. Bạn test xem sao.
 

File đính kèm

  • Split_CopyData_hadoan-pap.xlsm
    44.6 KB · Đọc: 5
Upvote 0
Dạ em cảm ơn anh ạ.

Em cũng thử tìm code delete dòng trống trong cell đi mà chưa tìm được ạ. Dùng TRIM thì không phải ^^
Đã loại trừ chỉ 1 dòng trống vì tôi nghĩ không ai lại bấm Alt+Enter 2 lần mà chẳng nhập gì. Nếu vẫn có trường hợp như vậy thì báo lại tôi vì lúc đó code sẽ dài dòng hơn.
 

File đính kèm

  • Split_CopyData_hadoan-pap.xlsm
    45.2 KB · Đọc: 6
Upvote 0
Đã loại trừ chỉ 1 dòng trống vì tôi nghĩ không ai lại bấm Alt+Enter 2 lần mà chẳng nhập gì. Nếu vẫn có trường hợp như vậy thì báo lại tôi vì lúc đó code sẽ dài dòng hơn.
Dạ em Xin lỗi bài toán đang có 1 chút khó khan ạ.

Khi thứ tự đánh số ở các ô bôi vàng mà nó không tuần tự thì khi chạy nó bị sai ạ. Em cũng mới thấy Trường hợp này phát sinh ạ.

Các ô "K" được bôi vàng sẽ đánh số và các bước đó nó sẽ là các bước tương với cột "J" ạ.

Em rất mong anh hỗ trợ em them ạ.

Em Xin cảm ơn!
 

File đính kèm

  • File_New.xlsm
    44.1 KB · Đọc: 2
Upvote 0
Dạ em Xin lỗi bài toán đang có 1 chút khó khan ạ.

Khi thứ tự đánh số ở các ô bôi vàng mà nó không tuần tự thì khi chạy nó bị sai ạ. Em cũng mới thấy Trường hợp này phát sinh ạ.

Các ô "K" được bôi vàng sẽ đánh số và các bước đó nó sẽ là các bước tương với cột "J" ạ.

Em rất mong anh hỗ trợ em them ạ.

Em Xin cảm ơn!
Rõ là ngay từ đầu bạn đã không chịu đưa tất cả những dạng dữ liệu sát với thực tế, thậm chí chỉ đưa vẻn vẹn 1 dòng. Đến khi chạy dữ liệu thực mới than gặp khó khăn, chạy sai. Đúng sao được vì tôi đâu phải siêu phàm để biết dữ liệu thực của bạn nó gồm những trường hợp nào.

Tôi đã sửa lại code nhưng không biết điều gì đang chờ phía trước.
 

File đính kèm

  • Split_CopyData_hadoan-pap.xlsm
    46.4 KB · Đọc: 10
Lần chỉnh sửa cuối:
Upvote 0
Rõ là ngay từ đầu bạn đã không chịu đưa tất cả những dạng dữ liệu sát với thực tế, thậm chí chỉ đưa vẻn vẹn 1 dòng. Đến khi chạy dữ liệu thực mới than gặp khó khăn, chạy sai. Đúng sao được vì tôi đâu phải siêu phàm để biết dữ liệu thực của bạn nó gồm những trường hợp nào.

Tôi đã sửa lại code nhưng không biết điều gì đang chờ phía trước.
Em cảm ơn anh rất nhiều ạ!.

Chúc anh 1 ngày tốt lành ^^
 
Upvote 0
Web KT
Back
Top Bottom