Excel 2007 trở lên có hơn 1 triệu dòng, nên thay Integer bằng Long.Anh/Chị xem giúp em đoạn code cột C em chạy chưa đúng, nhờ anh/chị xem và fix lỗi giúp em
cảm ơn anh/chị
Dữ liệu ra đúng là cột F
Sub ghepdulieu()
Dim i As Long
Dim y As Long
Dim n As Long
n = 1
For y = 2 To 217
For i = 2 To 58
n = n + 1
Cells(n, 3) = Cells(i, 1) & "#" & Cells(y, 2)
Next
Next
End Sub
Anh ơi cho vào mảng đi để thế kia chạy chậm lắm.Excel 2007 trở lên có hơn 1 triệu dòng, nên thay Integer bằng Long.
Thử sửa lại như sau:
PHP:Sub ghepdulieu() Dim i As Long Dim y As Long Dim n As Long n = 1 For y = 2 To 217 For i = 2 To 58 n = n + 1 Cells(n, 3) = Cells(i, 1) & "#" & Cells(y, 2) Next Next End Sub
Sub ghepdulieu()
Dim i As Long
Dim y As Long
Dim n As Long
Dim LastRowA As Long
Dim LastRowB As Long
Dim data1 As Variant
Dim data2 As Variant
Dim result() As Variant
' Xác định hàng cuối cùng có dữ liệu trong cột A và B
LastRowA = Cells(Rows.Count, 1).End(xlUp).Row
LastRowB = Cells(Rows.Count, 2).End(xlUp).Row
' Lấy dữ liệu từ cột A và B
data1 = Range("A2:A" & LastRowA).Value
data2 = Range("B2:B" & LastRowB).Value
' Khởi tạo mảng kết quả
ReDim result(1 To (LastRowA - 1) * (LastRowB - 1), 1 To 1)
n = 1
' Duyệt và ghi kết quả vào mảng
For y = 1 To LastRowB - 1
For i = 1 To LastRowA - 1
result(n, 1) = data1(i, 1) & "#" & data2(y, 1)
n = n + 1
Next i
Next y
' Ghi kết quả từ mảng vào cột C
Range("C2").Resize(UBound(result, 1), 1).Value = result
End Sub