Bạn sử dụng chức năng Transpose trong Paste Special chưa?Em có 1 bảng dữ liệu dạng cột rất dài, giờ em muốn chuyển no thành dạng hàng ngang để sử dụng bộ lọc, nhưng lay hoay mãi vẫn không được, xin các anh chỉ giúp, chân thành cám ơn...
Transpose sao?Bạn sử dụng chức năng Transpose trong Paste Special chưa?
Tách ra thì được nhưng mình cảm giác dữ liệu không thật, viết code rồi cũng không xài được. Bạn cho dữ liệu thật tí nữa đi. Không lẽ dữ liệu của hàng đầu đúng là A, B,C.... Nếu tách ra lấy 1 ký tự có ổn không???Em có 1 bảng dữ liệu dạng cột rất dài, giờ em muốn chuyển no thành dạng hàng ngang để sử dụng bộ lọc, nhưng lay hoay mãi vẫn không được, xin các anh chỉ giúp, chân thành cám ơn...
Private Sub CommandButton1_Click()
Dim a, b, i, j, k, arr(), dl
a = 3: b = a + 4
Do Until a > Sheet1.[b65536].End(3).Row
dl = Sheet1.Range(Sheet1.Cells(a, 2), Sheet1.Cells(b, 2)).Resize(, 11)
ReDim arr(1 To 1, 1 To 200)
For i = 1 To 11
For j = 1 To 5
If dl(j, i) <> "" Then
k = k + 1
arr(1, k) = dl(j, i)
End If
Next
Next
Sheet2.[b65536].End(3).Offset(1).Resize(, k) = arr
k = 0: a = a + 5: b = b + 5
Loop
Range([b3], [b65536].End(3)).Offset(, -1) = [row(a:a)]
End Sub
Tách ra thì được nhưng mình cảm giác dữ liệu không thật, viết code rồi cũng không xài được. Bạn cho dữ liệu thật tí nữa đi. Không lẽ dữ liệu của hàng đầu đúng là A, B,C.... Nếu tách ra lấy 1 ký tự có ổn không???
Tạm làm thế này cho bạn tại vì... nghiện GPE quá
PHP:Private Sub CommandButton1_Click() Dim a, b, i, j, k, arr(), dl a = 3: b = a + 4 Do Until a > Sheet1.[b65536].End(3).Row dl = Sheet1.Range(Sheet1.Cells(a, 2), Sheet1.Cells(b, 2)).Resize(, 11) ReDim arr(1 To 1, 1 To 200) For i = 1 To 11 For j = 1 To 5 If dl(j, i) <> "" Then k = k + 1 arr(1, k) = dl(j, i) End If Next Next Sheet2.[b65536].End(3).Offset(1).Resize(, k) = arr k = 0: a = a + 5: b = b + 5 Loop Range([b3], [b65536].End(3)).Offset(, -1) = [row(a:a)] End Sub
em tải về và đang test thử, nhờ anh chỉnh sửa giúp, chứ ko cố ý như vậy đâu, sr anh. cám ơn anh nhìu lắmBài toán khó cũng cố gắng suy nghĩ để làm, nhưng tác giả vào xem, tải file xong thản nhiên ra đi không 1 lời để lại >>> bầu nhiệt huyết bị vơi đi
Rất tiếc mình hết khả năng rồi, bài toán khó quá. Đợi các bạn khác giúp nghen.em sửa lại 1 số thay đổi anh có thể viết lại dùm em được ko anh? cám ơn anh.
Bạn có thể giải thích tại sao cột B của bảng trên có 5 phần tử mà trích ra bảng dưới chỉ còn có 3 phần tử không?em sửa lại 1 số thay đổi anh có thể viết lại dùm em được ko anh? cám ơn anh.
Em cũng nhìn thấy dữ liệu kỳ như thế mà tác giả không kèm theo lời giải thích nào nên em mới bỏ của chạy đó.Bạn có thể giải thích tại sao cột B của bảng trên có 5 phần tử mà trích ra bảng dưới chỉ còn có 3 phần tử không?
bảng dưới là phần dữ liệu cần thiết để em sử dụng bộ lọc, nên có lược bớt 1 số phần tử mà bảng trên có, cột B có 5 phần tử nhưng 1 trong số đó ko cần thiết nên em ko sử dụng chúng ạ!!! mong các anh chị nào bít có thể giúp dùm em.Bạn có thể giải thích tại sao cột B của bảng trên có 5 phần tử mà trích ra bảng dưới chỉ còn có 3 phần tử không?
Vậy nếu viết code thì làm sao biết cái nào là CẦN THIẾT và cái nào là KHÔNG CẦN THIẾT đây?bảng dưới là phần dữ liệu cần thiết để em sử dụng bộ lọc, nên có lược bớt 1 số phần tử mà bảng trên có, cột B có 5 phần tử nhưng 1 trong số đó ko cần thiết nên em ko sử dụng chúng ạ!!! mong các anh chị nào bít có thể giúp dùm em.
Chắc tại anh ko hiểu cách hỏi trong file em gởi.
em thay đổi sang các ký tự A B C, A11 B11 C11 là để các anh dể hình dung,
1 - ở cột A1 bên dưới em muốn trình bày tất cả các số thứ tự mà cột A bên trên có.
2 - ở cột B1 bên dưới trình bày các ô tại B11, B21, B31... bên trên.
3 - cột B2 = B14, B24, B34 của cột B bên trên
lần lượt như vậy cho đến hết
( thật sự là do em không biết diễn đạt sao cho mấy anh dể hiểu nhất, mong sự thông cảm và giúp đỡ của mấy anh)
em đã chỉnh sửa file lại cho dễ nhìn hơn
Mình không biết làm VBA. Bạn thử dùng file công thức này nhé.
Nếu đã có công thức mà không biết áp dụng thì chỉ có cách đưa dữ liệu thật lên để mọi người giúp 1 lần, không phải chỉnh sửa.mhung12005 công thức mảng của bạn chính xác và mình cũng rất thích sử dụng nó, vì tính đơn giản và dể chỉnh sửa chỉ cần copy và dán hợp với những người ko rành như mình. nhưng hình như nó dựa vào nội dung ở bảng bên dưới, nếu bảng bên dưới ko có hoặc có cách nào bạn hướng dẫn mình để mình hiểu nó hoạt động ra sao thì cám ơn bạn nhìu lắm. chứ giờ thực sự mình ko bít áp dụng vào dữ liệu của mình như thế nào nữa, hichic
mhung12005 công thức mảng của bạn chính xác và mình cũng rất thích sử dụng nó, vì tính đơn giản và dể chỉnh sửa chỉ cần copy và dán hợp với những người ko rành như mình. nhưng hình như nó dựa vào nội dung ở bảng bên dưới, nếu bảng bên dưới ko có hoặc có cách nào bạn hướng dẫn mình để mình hiểu nó hoạt động ra sao thì cám ơn bạn nhìu lắm. chứ giờ thực sự mình ko bít áp dụng vào dữ liệu của mình như thế nào nữa, hichic
Tách ra thì được nhưng mình cảm giác dữ liệu không thật, viết code rồi cũng không xài được. Bạn cho dữ liệu thật tí nữa đi. Không lẽ dữ liệu của hàng đầu đúng là A, B,C.... Nếu tách ra lấy 1 ký tự có ổn không???
Tạm làm thế này cho bạn tại vì... nghiện GPE quá
PHP:Private Sub CommandButton1_Click() Dim a, b, i, j, k, arr(), dl a = 3: b = a + 4 Do Until a > Sheet1.[b65536].End(3).Row dl = Sheet1.Range(Sheet1.Cells(a, 2), Sheet1.Cells(b, 2)).Resize(, 11) ReDim arr(1 To 1, 1 To 200) For i = 1 To 11 For j = 1 To 5 If dl(j, i) <> "" Then k = k + 1 arr(1, k) = dl(j, i) End If Next Next Sheet2.[b65536].End(3).Offset(1).Resize(, k) = arr k = 0: a = a + 5: b = b + 5 Loop Range([b3], [b65536].End(3)).Offset(, -1) = [row(a:a)] End Sub
Em loay hoay mãi mà không tìm ra, mong các bác chỉ giúp em. Chứ em mà phải làm thủ công thì chết mất, vì mảng rất lớn, em có file đính kèm.
Xin cảm ơn các bác!./.
Sub doc_ngang()
Dim dl, kq1, i, j, k, kq2
dl = [a1:d5].Value
ReDim kq1(1 To UBound(dl) * UBound(dl, 2), 1 To 1)
ReDim kq2(1 To 1, 1 To UBound(dl) * UBound(dl, 2))
For i = 1 To UBound(dl)
For j = 1 To 4
k = k + 1
kq1(k, 1) = dl(i, j)
kq2(1, k) = dl(i, j)
Next
Next
[a10].Resize(k) = kq1
[F1].Resize(1, k) = kq2
End Sub