luongsonlong211
Thành viên mới

- Tham gia
- 16/9/16
- Bài viết
- 26
- Được thích
- 4
vấn đề là em làm việc này rất nhiều lần, số lượng ô trong một hàng rất dài và không thống nhất, và mỗi lần viết như vậy rất tốn thời gian, nhưng vẫn cảm ơn bác. em thì hay dùng hàm concatenate để viết!
Thử với đoạn code này xem:em có một sheet1 chứa một danh sách ... , các bác có thể giúp em chuyển toàn bộ danh sách đó sang sheet2 dưới dạng mẫu bên sheet2 tự động bằng VBA được ko ạ, em cảm ơn!
Sub GPE()
Dim Arr(), vlArr, I As Long, K As Long
With Sheet1
Arr = .Range(.[A2], .[A65000].End(3)).Resize(, 6).Value
End With
ReDim vlArr(1 To UBound(Arr, 1), 1 To 2)
For I = 1 To UBound(Arr, 1)
If IsNumeric(Arr(I, 2)) Then
K = K + 1
vlArr(K, 1) = Arr(I, 1)
vlArr(K, 2) = Arr(I, 2) & "|" & Arr(I, 4) & "|" & _
Arr(I, 3) & "|" & Arr(I, 6) & "|" & Arr(I, 5) & "||||||||||"
End If
Next I
With Sheet2
If K Then
.[A1:B10000].ClearContents
.[A1].Resize(K, 2) = vlArr
.[A1].Resize(K, 2).Font.Name = ".VnTime"
.[A1].Resize(K, 2).Font.Size = 11
End If
End With
End Sub
Bạn có thể tham khảo bài viết của bạn Kyo tại: http://www.giaiphapexcel.com/dienda...-chữ-ở-nhiều-ô-thành-1-dòng-chỉ-trong-tíc-tắcem có một sheet1 chứa một danh sách ... , các bác có thể giúp em chuyển toàn bộ danh sách đó sang sheet2 dưới dạng mẫu bên sheet2 tự động bằng VBA được ko ạ, em cảm ơn!
Thử với đoạn code này xem:
Mã:Sub GPE() Dim Arr(), vlArr, I As Long, K As Long With Sheet1 Arr = .Range(.[A2], .[A65000].End(3)).Resize(, 6).Value End With ReDim vlArr(1 To UBound(Arr, 1), 1 To 2) For I = 1 To UBound(Arr, 1) If IsNumeric(Arr(I, 2)) Then K = K + 1 vlArr(K, 1) = Arr(I, 1) vlArr(K, 2) = Arr(I, 2) & "|" & Arr(I, 4) & "|" & _ Arr(I, 3) & "|" & Arr(I, 6) & "|" & Arr(I, 5) & "||||||||||" End If Next I With Sheet2 If K Then .[A1:B10000].ClearContents .[A1].Resize(K, 2) = vlArr .[A1].Resize(K, 2).Font.Name = ".VnTime" .[A1].Resize(K, 2).Font.Size = 11 End If End With End Sub