Nối chuỗi với mảng

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Em chào mọi người!
Em muốn nối dữ liệu với code này nhưng sai ở đâu nhỉ
Nhờ mọi người sửa giúp em với ạ!!!

Sub NoiChuoi()
Dim i&, c&, lr&, j&, n&
Dim Arr(), sArr
sArr = Range("A1:B25").Value
ReDim Arr(1 To UBound(sArr, 1), 1 To 1)
Range("H:H").ClearContents
For j = 1 To UBound(sArr, 2)
    For i = 1 To UBound(sArr, 1)
                    c = c + 1
                    Arr(c, 1) = sArr(j, 2) & sArr(i, 1)
    Next
Next
Range("H1").Resize(c) = Arr
End Sub

Mình đang làm việc với ChatGPT tiện thể hỏi luôn giúp bạn, bạn xem thử:

Sub NoiChuoi()
Dim i As Long, c As Long, lr As Long, j As Long, n As Long
Dim Arr() As Variant, sArr As Variant
sArr = Range("A1:B25").Value
ReDim Arr(1 To UBound(sArr, 1) * UBound(sArr, 2), 1 To 1)
Range("H:H").ClearContents
c = 0
For i = 1 To UBound(sArr, 1)
For j = 1 To UBound(sArr, 2)
If Len(sArr(j, 2)) > 0 And Len(sArr(i, 1)) > 0 Then
c = c + 1
Arr(c, 1) = sArr(j, 2) & sArr(i, 1)
End If
Next j
Next i
Range("H1").Resize(c) = Arr
End Sub

Nguyên nhân bắt bệnh code của bạn:
1. Biến c được sử dụng để theo dõi số lượng phần tử trong mảng Arr, nhưng không được khởi tạo với giá trị ban đầu, do đó nếu Arr rỗng, lệnh Range("H1").Resize(c) = Arr sẽ không thực hiện gì cả. Bạn có thể khởi tạo c = 0 trước khi bắt đầu vòng lặp.

2. Vì mảng sArr có kích thước 25×2, nên trong vòng lặp, chỉ nên lặp đến giá trị UBound(sArr, 1) hoặc 25, chứ không phải UBound(sArr, 2).

3. Khi nối chuỗi sArr(j, 2) & sArr(i, 1), có thể xảy ra tình huống nếu cột A hoặc cột B có giá trị rỗng, thì kết quả sẽ không như mong đợi. Bạn có thể kiểm tra điều kiện If Len(sArr(j, 2)) > 0 And Len(sArr(i, 1)) > 0 Then để chỉ nối chuỗi khi giá trị không rỗng.

Sub NoiChuoi()
Dim i&, c&, lr&, j&, n&
Dim Arr(), sArr
sArr = Range("A1:B25").Value
ReDim Arr(1 To 100000, 1 To 1)' sua dong nay
Range("H:H").ClearContents
For j = 1 To UBound(sArr) ' sua dong nay
For i = 1 To UBound(sArr)' sua dong nay
c = c + 1
Arr(c, 1) = sArr(j, 2) & sArr(i, 1)
Next
Next
Range("H1").Resize(c, 1) = Arr' sua dong nay
End Sub

www.giaiphapexcel.com/diendan/threads/n%E1%BB%91i-chu%E1%BB%97i-v%E1%BB%9Bi-m%E1%BA%A3ng.164102/

Khóa học Power PI – Ứng dung trong Nhân sự
Khóa học SprinGO phù hợp

Khóa học Power PI – Ứng dung trong Nhân sự

TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...

Xem khóa học
★★★★★ 5 ★ 1 👤 0 ▥ 0
Quảng cáo

Bạn nên đọc

Bình luận

Quảng cáo

Cũ vẫn chất

Xem thêm