jimmycuong
Thành viên mới

- Tham gia
- 16/8/07
- Bài viết
- 7
- Được thích
- 0
Bạn muốn dồn như thế này phải không? Xem file đính kèm nhé, bấm Ctrl+F3 để xem công thức trong name DonCot.Chào các bạn,mình có 1 file excel xuất từ phần mềm ra, có cách nào dồn các cột lại như sheet kế bên ko nhỉ, mình có đính kèm file, các bạn giúp mình nha.
Option Explicit
Sub ḌnCot()
Dim Rws As Long, J As Long, W As Long, Col As Byte
Dim Arr()
Rws = [c7].CurrentRegion.Rows.Count
Arr() = Range("D7:AA7").Resize(Rws)
ReDim dArr(1 To UBound(Arr()), 1 To UBound(Arr(), 2))
For J = 1 To UBound(Arr())
For Col = 1 To UBound(Arr(), 2)
If Arr(J, Col) <> "" Then
W = W + 1
dArr(J, W) = Arr(J, Col)
Else
End If
Next Col
W = 0
Next J
With Sheet1.[D7].Resize(J, UBound(Arr(), 2))
.Value = dArr()
End With
End Sub
ok, cám ơn bạn nha, để mình làm thử.Bạn muốn dồn như thế này phải không? Xem file đính kèm nhé, bấm Ctrl+F3 để xem công thức trong name DonCot.
HMT.
Thank bạn, để mình thử làm công thức rồi làm lại VBA xem sao.Nếu quan tâm đến VBA thì bạn chạy thử con này:
PHP:Option Explicit Sub ḌnCot() Dim Rws As Long, J As Long, W As Long, Col As Byte Dim Arr() Rws = [c7].CurrentRegion.Rows.Count Arr() = Range("D7:AA7").Resize(Rws) ReDim dArr(1 To UBound(Arr()), 1 To UBound(Arr(), 2)) For J = 1 To UBound(Arr()) For Col = 1 To UBound(Arr(), 2) If Arr(J, Col) <> "" Then W = W + 1 dArr(J, W) = Arr(J, Col) Else End If Next Col W = 0 Next J With Sheet1.[D7].Resize(J, UBound(Arr(), 2)) .Value = dArr() End With End Sub
Chúc vui nhân cuối tuần!