Em hay tác giả bác nhỉ?Khai thật đi, mục đích cuối cùng của bạn là gì?
Tôi nói chủ topic.Em hay tác giả bác nhỉ?![]()
Mục đích của thớt: thử nghiệm sáng kiến.Khai thật đi, mục đích cuối cùng của bạn là gì?
Ứng dụng lý thuyết mới học vào thực tiễn bác ạ.Mục đích của người viết công thức
Chịu, phải suy nghĩ mới được.Bạn thử chuyển từ bảng A sang cột B xem sao.
View attachment 295641
Dữ liệu mình để số cho dễ nhìn, chứ thực tế nó là chữ nhé.
Ra được cột nhưng đòi bỏ số 0 đi thì không thể trong 1 công thức được. Đố khó nhẩy.Bạn thử chuyển từ bảng A sang cột B xem sao.
View attachment 295641
Dữ liệu mình để số cho dễ nhìn, chứ thực tế nó là chữ nhé.
Bạn phải dùng thêm hàm Aggregate nữa cơ.Ra được cột nhưng đòi bỏ số 0 đi thì không thể trong 1 công thức được. Đố khó nhẩy.
Option Explicit
Function Combin2Arr(sArray1, sArray2)
Dim TmpArr1, TmpArr2, Item1, Item2, Arr(), i As Long
TmpArr1 = sArray1: TmpArr2 = sArray2
For Each Item1 In TmpArr1
If Trim(CStr(Item1)) <> "" Then
For Each Item2 In TmpArr2
If Trim(CStr(Item2)) <> "" Then
ReDim Preserve Arr(i)
Arr(i) = CStr(Item1) & CStr(Item2)
i = i + 1
End If
Next
End If
Next
Combin2Arr = Arr
End Function
Sub Main()
Dim sArray1, sArray2, Arr, lRow As Long
On Error Resume Next
sArray1 = Range("A1:A260")
sArray2 = Range("B1:B105")
Arr = Combin2Arr(sArray1, sArray2)
lRow = UBound(Arr) + 1
If lRow > Cells.Rows.Count Then lRow = Cells.Rows.Count
Range("D1").Resize(lRow) = WorksheetFunction.Transpose(Arr)
End Sub
Không dùng công thức được à? Phải code à? Vậy mục đích thật là gì là đúng rồi.Dạ cảm ơn các bác, trong lúc mày mò diễn đàn cũng thẩm thêm được code của bác ndu, cũng nhóm lần lượt 1 dòng và 1 cột. Mà hok biết nếu thêm dấu * xem kẽ vào giữa thì sửa code ntn thế này thế nào ạ.
Em vọc thêm thui, công thức là đủ xài, muốn xài vba em post ở mục vba chứ.Không dùng công thức được à? Phải code à? Vậy mục đích thật là gì là đúng rồi.![]()
![]()
![]()
Thêm dấu thôi.Dạ cảm ơn các bác, trong lúc mày mò diễn đàn cũng thẩm thêm được code của bác ndu, cũng nhóm lần lượt 1 dòng và 1 cột. Mà hok biết nếu thêm dấu * xem kẽ vào giữa thì sửa code ntn thế này thế nào ạ.
Cứ tưởng mỗi đoạn code phải mất từ 2 đến 3 tháng mà vụ này nhanh thế nhỉ.Thêm dấu thôi.
Arr(i) = CStr(Item1) & "*" & CStr(Item2)
Chắc mất công suy nghĩ đặt tên biến đó mà.Cứ tưởng mỗi đoạn code phải mất từ 2 đến 3 tháng mà vụ này nhanh thế nhỉ.
Thức cả đêm mới ra được đấy.Cứ tưởng mỗi đoạn code phải mất từ 2 đến 3 tháng mà vụ này nhanh thế nhỉ.
Vầy thôiRa được cột nhưng đòi bỏ số 0 đi thì không thể trong 1 công thức được. Đố khó nhẩy.
=TOCOL(B2:E5,1,1)