Chuyển dữ liệu nhiều hàng thành 1 cột

Mydiem13031994

Thành viên mới
Tham gia ngày
29 Tháng mười 2019
Bài viết
10
Được thích
1
Điểm
15
Tuổi
25
Dạ anh chị nào biết cách chuyển dữ liệu từ nhiều hàng thành 1 cột liên tục chỉ giùm em với ạ?
-2
0
16
...
56
33

12
0
1

Em cảm ơn trước ạ!
1575538488246.png
 

File đính kèm

VetMini

Gian hùng bàn phiếm (thành viên trôi nước)
Tham gia ngày
21 Tháng mười hai 2012
Bài viết
7,841
Được thích
9,197
Điểm
560
' chủ yếu là cái công thức áp mảng 1 chiều qua 2 chiều thôi
a = Sheet1.Range("A1").CurrentRegion.Value
soDong = UBound(a)
soCot = UBound(a, 2)
Redim b(1 to soDong*soCot, 1 to 1)
For i = 1 to soDong*soCot
b(i, 1) = a( (i-1) \ soCot + 1, (i - 1) Mod soCot + 1) ' công thức áp chỗ này
Next i
Sheet2.Range("A1").Resize(UBound(b), 1) = b
 

phulien1902

GPE - My love
Tham gia ngày
6 Tháng bảy 2013
Bài viết
3,407
Được thích
4,222
Điểm
560
Nơi ở
Hải Phòng
Dạ file đây ạ. hi. giúp em với :)
Bạn thử:
PHP:
With Selection
        a = .Value
        ReDim b(1 To UBound(a) * UBound(a, 2), 1 To 1)
        For i = 1 To UBound(a)
            For j = 1 To UBound(a, 2)
                If Len(a(i, j)) Then k = k + 1: b(k, 1) = a(i, j)
            Next: Next
    End With
    Range("AB4").Resize(k).Value = b
 

be09

TNMT_Đồng Nai
Tham gia ngày
9 Tháng tư 2011
Bài viết
8,567
Được thích
8,356
Điểm
560
Tuổi
62
Nơi ở
Biên Hòa, Đồng Nai
Nhờ cao thủ trong nhóm giúp mình chuyển đổi hàng sang cột file này với ạ
Góp ý cho bạn:
1/ Nếu thành viên nào biết thì sẽ vào giúp cho bạn mà không cần dùng từ cao thủ trong bài viết.
2/ Nội dung trong File của bạn khác hoàn toàn so với File của chủ Topic, vì vậy bạn nên mở Topic để việc trả lời cho bạn được tập trung hơn.
3/ Về nội dung bạn cần diễn giải cụ thể rỏ ràng là lấy dữ liệu của sheet nào chuyển qua sheet nào? Bạn hỏi bâng quơ quá nên chẳng ai hiểu bạn muốn kết quả ở sheet nào?
 
Lần chỉnh sửa cuối:

Mydiem13031994

Thành viên mới
Tham gia ngày
29 Tháng mười 2019
Bài viết
10
Được thích
1
Điểm
15
Tuổi
25
Bạn thử:
PHP:
With Selection
        a = .Value
        ReDim b(1 To UBound(a) * UBound(a, 2), 1 To 1)
        For i = 1 To UBound(a)
            For j = 1 To UBound(a, 2)
                If Len(a(i, j)) Then k = k + 1: b(k, 1) = a(i, j)
            Next: Next
    End With
    Range("AB4").Resize(k).Value = b
Dạ em cảm ơn. Để em thử xem ạ!
 

Mydiem13031994

Thành viên mới
Tham gia ngày
29 Tháng mười 2019
Bài viết
10
Được thích
1
Điểm
15
Tuổi
25
' chủ yếu là cái công thức áp mảng 1 chiều qua 2 chiều thôi
a = Sheet1.Range("A1").CurrentRegion.Value
soDong = UBound(a)
soCot = UBound(a, 2)
Redim b(1 to soDong*soCot, 1 to 1)
For i = 1 to soDong*soCot
b(i, 1) = a( (i-1) \ soCot + 1, (i - 1) Mod soCot + 1) ' công thức áp chỗ này
Next i
Sheet2.Range("A1").Resize(UBound(b), 1) = b
Dạ em cảm ơn ạ!
 

Mydiem13031994

Thành viên mới
Tham gia ngày
29 Tháng mười 2019
Bài viết
10
Được thích
1
Điểm
15
Tuổi
25
Bạn thử:
PHP:
With Selection
        a = .Value
        ReDim b(1 To UBound(a) * UBound(a, 2), 1 To 1)
        For i = 1 To UBound(a)
            For j = 1 To UBound(a, 2)
                If Len(a(i, j)) Then k = k + 1: b(k, 1) = a(i, j)
            Next: Next
    End With
    Range("AB4").Resize(k).Value = b
Dạ a ơi, A có thể chỉ chi tiết giùm em cách sử dụng code này được không ạ? Em ko rành code nên ko biết bỏ vô đâu để chạy ra cái này. Em cảm ơn a trước ạ.
 

luc.dhuy

Thành viên mới
Tham gia ngày
30 Tháng sáu 2008
Bài viết
26
Được thích
17
Điểm
665
Nơi ở
Thành phố Vũng tàu
B
Dạ a ơi, A có thể chỉ chi tiết giùm em cách sử dụng code này được không ạ? Em ko rành code nên ko biết bỏ vô đâu để chạy ra cái này. Em cảm ơn a trước ạ.
Bạn xem file đính kèm. Bấm vào mũi tên sẽ có kết quả. Muốn xem code thì bấm "Alt+F11" nhé.
 

File đính kèm

phulien1902

GPE - My love
Tham gia ngày
6 Tháng bảy 2013
Bài viết
3,407
Được thích
4,222
Điểm
560
Nơi ở
Hải Phòng
Dạ a ơi, A có thể chỉ chi tiết giùm em cách sử dụng code này được không ạ? Em ko rành code nên ko biết bỏ vô đâu để chạy ra cái này. Em cảm ơn a trước ạ.
Bạn dùng Code dưới linh hoạt hơn:
PHP:
Sub Test()
    Dim a, b, i, j, k, Nguon As Range, Dich As Range
    Set Nguon = Application.InputBox(prompt:="Quet chon vung du lieu can chuyen ", Type:=8)
    With Nguon
        a = .Value
        ReDim b(1 To UBound(a) * UBound(a, 2), 1 To 1)
        For i = 1 To UBound(a)
            For j = 1 To UBound(a, 2)
                If Len(a(i, j)) Then k = k + 1: b(k, 1) = a(i, j)
            Next: Next
    End With
    Set Dich = Application.InputBox(prompt:="Chon 1 Cell de gan du lieu", Type:=8)
    Dich.Resize(k).Value = b
End Sub
 

File đính kèm

Mydiem13031994

Thành viên mới
Tham gia ngày
29 Tháng mười 2019
Bài viết
10
Được thích
1
Điểm
15
Tuổi
25
Bạn dùng Code dưới linh hoạt hơn:
PHP:
Sub Test()
    Dim a, b, i, j, k, Nguon As Range, Dich As Range
    Set Nguon = Application.InputBox(prompt:="Quet chon vung du lieu can chuyen ", Type:=8)
    With Nguon
        a = .Value
        ReDim b(1 To UBound(a) * UBound(a, 2), 1 To 1)
        For i = 1 To UBound(a)
            For j = 1 To UBound(a, 2)
                If Len(a(i, j)) Then k = k + 1: b(k, 1) = a(i, j)
            Next: Next
    End With
    Set Dich = Application.InputBox(prompt:="Chon 1 Cell de gan du lieu", Type:=8)
    Dich.Resize(k).Value = b
End Sub
Dạ em cảm ơn :) em đã làm được rồi ạ.
Bài đã được tự động gộp:

Bạn dùng Code dưới linh hoạt hơn:
PHP:
Sub Test()
    Dim a, b, i, j, k, Nguon As Range, Dich As Range
    Set Nguon = Application.InputBox(prompt:="Quet chon vung du lieu can chuyen ", Type:=8)
    With Nguon
        a = .Value
        ReDim b(1 To UBound(a) * UBound(a, 2), 1 To 1)
        For i = 1 To UBound(a)
            For j = 1 To UBound(a, 2)
                If Len(a(i, j)) Then k = k + 1: b(k, 1) = a(i, j)
            Next: Next
    End With
    Set Dich = Application.InputBox(prompt:="Chon 1 Cell de gan du lieu", Type:=8)
    Dich.Resize(k).Value = b
End Sub
Hi. Em mới mở cái file anh gửi, nhìn hay quá anh. Em cảm ơn anh nhiều nhé :)
 
Top Bottom