Sai:Chào anh, chị
Nhờ các anh, chị xem giúp đoạn code như hình sai chỗ nào mà nó không chạy ra kết quả ạ. Em cảm ơn
View attachment 227021
Bài đã được tự động gộp:
Vậy phải sửa lại thế nào ạSai:
Cells(i,2) và Cells(i,3)
Đoán mò: Cells(i+6,2) và Cells(i+6,3)Vậy phải sửa lại thế nào ạ
Được rồi anh ạ. Em cảm ơn anh. Nhưng em tưởng là vòng lặp nó chạy bắt đầu từ dòng 7 chứ nhỉ (trong vùng mảng arr)?Đoán mò: Cells(i+6,2) và Cells(i+6,3)
Tại vì người viết code trên chỉ chuyên mảng chứ không chuyên bảng tính cho nên quên mất là giữa mảng và bảng tính có độ lệch 6 dòng.Được rồi anh ạ. Em cảm ơn anh. Nhưng em tưởng là vòng lặp nó chạy bắt đầu từ dòng 7 chứ nhỉ (trong vùng mảng arr)?
Em hỏi thêm chút ạ: giờ em muốn chuyển điều kiện ô G5 và H5 sang sheet2 và vùng cần gián arr1 sang sheet2 thì code phải sửa thế nào ạ? Em đã thử nhưng không ra kết quả. Em cảm ơnĐoán mò: Cells(i+6,2) và Cells(i+6,3)
v1 = Sheet2.Range("G5").ValueEm hỏi thêm chút ạ: giờ em muốn chuyển điều kiện ô G5 và H5 sang sheet2 và vùng cần gián arr1 sang sheet2 thì code phải sửa thế nào ạ? Em đã thử nhưng không ra kết quả. Em cảm ơn
Em sửa như anh (hình tại bài #8) nhưng không ra kết quả ạ. Anh xem giúp em vớiv1 = Sheet2.Range("G5").Value
v2 = Sheet2.Range("H5").Value
Sửa chỗ so sánh với Sheet1.Range("G5") thành so sánh với v1, và tương tự cho v2.
Ở dòng gần cuối, sửa Sheet1.Range("G7") thành Sheet2.Rang("G7")
Nhưng mà code trên luộm thuộm lắm. Nếu phải sửa thì viết lại cho rồi.
Em sửa như anh (hình tại bài #8) nhưng không ra kết quả ạ. Anh xem giúp em với
Đồng thời, cho biết rõ hơn "không ra kết quả" tức là sao. Chả thấy cái gì cả hay ra sai ý muốn? Và sai như thế nào?Chú: copy code và paste lại trên đây. Chứ nhìn hình ngừoi ta lười sửa lắm.
Đôngt hời, cho biết rõ hơn "không ra kết quả" tức là sao. Chả thấy cái gì cả hay ra sai ý muốn? Và sai như thế nào?
Đoán tiếp:Em gửi code ạ. Ấn chạy không báo lỗi và cũng không ra kết quả gì cả ạ.
Sub loc()
Dim arr As Variant, arr1 As Variant
Dim i As Long
Dim k As Long
Dim lr As Long
Dim sr As Long
Dim a As Variant, b As Variant
a = Sheet2.Range("H5").Value
b = Sheet2.Range("G5").Value
lr = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
arr = Sheet1.Range("A7:C" & lr).Value
sr = UBound(arr)
ReDim arr1(1 To sr, 1 To 3)
For i = 1 To UBound(arr)
If Cells(i + 6, 2) = a And Cells(i + 6, 3) = b Then
k = k + 1
arr1(k, 1) = arr(i, 1)
arr1(k, 2) = arr(i, 2)
arr1(k, 3) = arr(i, 3)
End If
Next i
With Sheet2
If k Then
.Range("G7").Resize(k, 3).ClearContents
.Range("G7").Resize(k, 3) = arr1
End If
End With
End Sub
Sửa lại thế nào ạ?Đoán tiếp:
Sheet2.Cells(i + 6, 2)
Sheet2.Cells(i + 6, 3)
Thớt này thuộc vào hạng lỳ câm. Chạy không đúng mà cứ nhất định hỏi qua hỏi lại. Bắt người ta đoán mình muốn gì.Đoán tiếp:
Sheet2.Cells(i + 6, 2)
Sheet2.Cells(i + 6, 3)
Nhờ các anh, chị xem giúp em với ạ
Code sai tùm lum, luận lý điều kiện "If Cells(i + 6, 2) = a And Cells(i + 6, 3) = b Then" và kết quả trả về "arr1(k, 1) = arr(i, 1) " không ăn nhập gì nhau, không thể đoán được yêu cầu xử lý dữ liệu, không viết lại đượcNhờ các anh, chị xem giúp em với ạ