cấu trúc này e sai chỗ nao v thầy
Chào bạn, bạn thiếu end if nhé.
câu lệnh đó của e nó chạy hoài không thấy dừng thầy oi. e muốn tạo code lấy dữ liệu từ bảng màu xanh qua bản màu hồng, dán vào ô G10, ví dụ nhu nếu giá trị ở ô G2= giá trị trong bảng xanh cột L thì trả về giá trị cột M ở ô G2 dài xuống phía dưới, giò tìm cho đến hết ô G7, thầy chỉ e nhé
Chào bạn bạn có điều kiện nào a<8 và i<dc không?
a là số dòng ở cột G, i là số dòng ở cột L đó thầy
Nghĩa là bạn có điều kiện đó để dừng không ấy nếu điều kiện đồng thời a<8 và i<=dc thì dừng bạn chạy debug xem nó lỗi đoạn nào mà vòng lặp không dừng, phải trên file của bạn dubug mới biết được
báo v ne thay
Chào bạn bạn cần đẩy file lên giúp gitiho nhé.
Chào bạn bạn cho mọi người xem liên kết đều tải được là được
Chào bạn vòng lặp bạn không chạy ra luôn luôn a=2 và i=2 và không có điều kiện so sánh đúng nên không được trong trường hợp này bạn thử code sau nhé:
Sub Loc_Sheet_ThemMonAn()
Dim DC As Long, a As Long, i As Long
DC = Sheets("Them mon an").Range("L" & Rows.Count).End(xlUp).Row
a = 2
i = 2
Do While a < 8 And i <= DC And Sheets("Them mon an").Range("L" & i).Value <> ""
If Sheets("Them mon an").Range("G" & a).Value = Sheets("Them mon an").Range("L" & i).Value Then
Sheets("Them mon an").Range("G10").Value = Sheets("Them mon an").Range("M" & i).Value
i = i + 1
a = a + 1
End If
i = i + 1
a = a + 1
Loop
MsgBox ("hoàn thanh")
End Sub
thay xem cau lệnh nhu vậy đúng voi ý e muốn chưa thầy, sao e chạy thử nó k hiện tượng gì cả
Nghĩa là câu lệnh bạn đang muon muốn điều gì xảy ra, vì vòng lặp của bạn là a<8 và dc<=i nên bạn chạy luôn luôn là a là 2 và i là 2 bạn thử debug và ấn f8 để chạy và kiểm tra sẽ thấy logic, mình đọc code thôi đang không hiều bạn muốn gì.
E muốn điều kiện là cột G tìm dữ liệu trong cột L. Nếu đúng sẽ nhận giá trị cột M. Cho vào vị trí nào trên sheet cung dc hêt thầy
Chào bạn bạn thử code sau với dữ liệu đúng nhé:
Sub timkiemdulieu()
Dim dc As Long, i As Long, j As Long
dc = Sheets("Them mon an").Range("L" & Rows.Count).End(xlUp).Row
For i = 2 To dc
For j = 2 To 5
If (Sheet32.Range("G" & j).Value = Sheet32.Range("L" & i)) Then
Sheet32.Range("O" & i).Value = Sheet32.Range("L" & i)
End If
Next j
Next i
End Sub
thầy cho e hỏi, nếu muốn gộp các cột ac, ae, ag vào cung 1 cột mình lam s ha thầy
Chào bạn, bạn dùng vòng lặp và nối chúng lại với nhau dạng range("Ac"&i).value &" "&range("Ae"&i)... dạng này vòng trong code là được
cấu trúc này của e sao sai v thầy
Chào bạn "P:" bạn thừa dấu : kìa