Dear Tuấn Ba [Chuyên gia]
chào bạn ý của bạn là dựa vào mã DX00039M lấy ra các kết quả ở hàng song song dúng không?
dạ đúng rồi ạ
trong trường hợp này làm như nào để lấy dk ạ,
mong chuyên gia chỉ cho một cái công thức
Chào bạn mình hướng dẫn bạn nhé với vba bạn có thể dùng vòng lặp
B1: bạn xác định biến dòng cuối
B2 thực hiện vòng lặp for từ đầu đến cuối
B3 so sánh giá trị với cột trong bảng data
- nếu đúng thì ghi ra
- nếu sai thì bỏ qua
chuyên gia có thể giúp mình viết ra một công thức thực hiện dk ko ạ. vì mình đang gặp vấn đề về lot date trên nhiều vật tư
cảm ơn chuyên gia nhiều !
chào bạn hướng code sẽ như thế này, bạn chỉnh phần điều kiện sao cho phù hợp với yêu cầu là được
sub timdieukien
dim dc as long, i as long, k as long
dc = sheetname.range("cot", row.count).end(3).rows
for i = dongdau to dc
if(range(dk).value = sheetnam.range("?..?")) then // điều kiện lấy ở đây
/// xuất kết quả ở đây
k = k+1
sheetkq.range("o"&k) = sheetname.range("o"&i).value
end if
next i
end sub
https://docs.google.com/spreadsheets/...
Thầy giúp em với ạ.
Em muốn phân bổ số lượng từ sheet tổng xuất để giảm kho ở các mã vật tư lần lượt theo date cũ đến date mới (ở lot number) ạ.
Có thể mở cột ở bên sheet số lượng tồn tự phân bộ sang
Hoặc có thể phân bổ ở bên sheet tổng xuất. Khi đó phải dãn dòng để lần lượt từ date cũ sang date mới ạ
Có thể thầy giúp em qua ultraview với ạ
Em cám ơn thầy ạ
Chào bạn bạn cho mình xin quyền truy cập vào nhé.
chào bạn như mã HC0004M thì được tính như thế nào hay lấy 17 bên kia sang?
dạ cái cột HC0004M thì muốn lấy cái date ngắn nhất rồi đến date dài
vd : tổng muốn xuất là 24 : thì lấy hết cái date kia có 17 , và phải lấy thêm 7 ở date 20 có sẵn
Chào bạn bạn có cẩn trả ra kết quả chi tiết như hình này không vậy thì code xuất phải khác chút.
Dạ có ạ xuất trả ra chi tiết như này ạ
mong thầy tạo tạo cho . Sheet tổng đã có . Sheet cần xuất . Sẽ ra sheet xuất chi tiết đó ạ
Dạ vầng đúng ròii ạ
Chào bạn bạn tạo sheet3 và thử code này nhé:
Option Explicit
Function TIMDC(ws As Worksheet, cot As String) As Long
TIMDC = ws.Range(cot & ws.Rows.Count).End(xlUp).Row
End Function
Sub TINHTONGHOP()
Dim ARR As Variant, KQ As Variant, ARRKQ As Variant, I As Long, J As Long, K As Long
Dim Temp As Variant, Dic As Object
Set Dic = CreateObject("Scripting.Dictionary")
ARR = Sheet1.Range("A2:Z" & TIMDC(Sheet1, "A")).Value
ARRKQ = Sheet2.Range("A2:C" & TIMDC(Sheet2, "A")).Value
ReDim KQ(LBound(ARR, 1) To UBound(ARR, 1), LBound(ARR, 2) To UBound(ARR, 2))
For I = LBound(ARR, 1) To UBound(ARR, 1)
K = K + 1
If (ARR(I, 1) = Sheet3.Range("A1").Value) Then
KQ(K, 1) = ARR(I, 1)
KQ(K, 2) = ARR(I, 2)
KQ(K, 3) = ARR(I, 3)
KQ(K, 4) = ARR(I, 4)
For J = LBound(ARRKQ, 1) To UBound(ARRKQ, 1)
If (KQ(K, 1) = ARRKQ(J, 1) And ARR(I, 5) <= ARRKQ(J, 3)) Then
Temp = ARR(I, 1)
If Not Dic.Exists(Temp) Then
Dic.Add Temp, K
KQ(K, 10) = ARR(I, 5)
Else
KQ(Dic.Item(Temp), 11) = ARRKQ(J, 3) - KQ(Dic.Item(Temp), 5)
End If
End If
Next J
If (K = 1) Then
KQ(K, 5) = ARR(I, 5)
Else
KQ(K, 5) = KQ(1, 11)
End If
KQ(K, 6) = ARR(I, 6)
KQ(K, 7) = ARR(I, 7)
End If
Next I
Sheet3.Range("a3").Resize(K, 10).Value = KQ
End Sub
thầy ơi e gắn tạo đoạn code này vô sheet3 rồi nhưng nó ko ra , cũng ko báo lỗi gì ạ
chào bạn bạn thử nhé:
dạ thầy ơi, cáo đoạn code này nó đang chạy cho một mã , vậy bây h e muốn chạy cho nhiều mã , hay nhiều dòng thì sửa như nào thầy,
cảm ơn thầy
cái bảng này ở hai chỗ e khoanh có thể bỏ đi mà vẫn gọi từ sheet1, sheet2 = sheet3 dk ko thầy, e thất cột a1 HC0004M , mà e gắn cái mã khác vô thì lại ra mỗi mã vật tư nhưng số lượng lại ko ra
Chào bạn bạn phải chạy code chứ
dạ e chạy code rồi ạ
nó mới gọi ra một mã vật tư này ạ,
mong thầy viết nốt cho , và gọi dk hết số mã còn lại , bỏ hai cái e khoanh
Chào bạn muốn xuất chi tiết cần xuất theo từng mã vậy mới ra được? trong code bạn có thể sửa một chút để đúng theo yêu cầu
thầy có thề giúp e chỉnh sửa và lấy dk toàn bộ số lượng ở trong cái fife đó dk ko ạ, e sẽ lấy cái đó để áp dụng ạ
Chào bạn lấy toàn bộ thì hiện mình chưa thể nghĩ ra cách, vì số dòng của mỗi mã vật tư là khác nhau.
mong thầy giúp đỡ cho ạ
cảm ơn thầy nhiều
Hiện tại mình cũng chưa nghĩ ra được thuật toán tối ưu để gắp ngày ra theo yêu cầu của bạn, để mình thao khảo vài nơi xem thế nào
dạ cảm ơn thầy ạ !
thầy tìm ra dk giải phát giúp e chưa ạ
cảm ơn thầy
Chào bạn để mình tìm lại 1 file có phương pháp tương tự rồi đẩy lên cho bạn nghiên cứu code nhé.
Dạ cảm ơn thầy ạ
thầy có thể hộ e làm luôn cái mẫu e đã gửi cho thầy dk ko ạ
em cảm ơn
Chào bạn có thể xem file dưới đây nhé:
thầy ơi tìm mãi cái code mà để copy sang cái mà e cần ko dk thầy ạ . mong thấy giúp
em cảm ơn
Chào bạn bạn phải đọc code và tìm hiểu nó mới ra được chứ.
Thầy ơi e vô rồi nhưng đoạn code đó để chạy cái fife thầy gửi thì nó ko chạy .
mong thầy giúp e vs ạ