nvthien1967
Thành viên mới
- Tham gia
- 27/3/07
- Bài viết
- 36
- Được thích
- 168
- Nhờ các bạn thành viên tư vấn. Từ form nhập liệu với tên của textbox là "HH1" (hàng hóa thứ 1) ... "HHn" (hàng hóa thứ n), sau khi lệnh thủ tục sẽ tìm giá trị từng textbox (HH1...) trong sheet danh mục để nhập số lượng tăng hoặc giảm tồn kho.
- Đoạn code này chạy được nhưng phải chỉ đúng tên từng textbox (HH1, HH2,..) nên code rất dài
Sub CapNhatSoLieuKho ()
'Hang hoa thu 1
If HH1 <> "" Then
Selection.Find(What:=HH1, MatchCase:=True).Activate
ActiveCell.Offset(0, 8).Select: ActiveCell.Value = ActiveCell.Value + SL1.Value (Ghi giá trị cột phát sinh)
End If
'Hang hoa thu 2
If HH2 <> "" Then
Selection.Find(What:=HH2, MatchCase:=True).Activate
ActiveCell.Offset(0, 8).Select: ActiveCell.Value = ActiveCell.Value + SL2.Value (Ghi giá trị cột phát sinh)
End If
...... n (hang hoa)
End Sub
- Tôi muốn dùng biến (r) nhưng code không tìm được (không biết sai ở đâu)
Sub CapNhatSoLieuKho ()
On Error Resume Next
Dim tx As TextBox
Dim r As Long
Set tx = HH
For r = 1 To 10
With Sheets("TON-KHO")
If tx & r <> "" Then
Selection.Find(What:="tx" & r, MatchCase:=True).Activate
ActiveCell.Offset(0, 8).Select: ActiveCell.Value = ActiveCell.Value + Me.Controls("SL" & r).Value
End If
End With
Next r
End Sub
- Cám ơn các bạn.
- Đoạn code này chạy được nhưng phải chỉ đúng tên từng textbox (HH1, HH2,..) nên code rất dài
Sub CapNhatSoLieuKho ()
'Hang hoa thu 1
If HH1 <> "" Then
Selection.Find(What:=HH1, MatchCase:=True).Activate
ActiveCell.Offset(0, 8).Select: ActiveCell.Value = ActiveCell.Value + SL1.Value (Ghi giá trị cột phát sinh)
End If
'Hang hoa thu 2
If HH2 <> "" Then
Selection.Find(What:=HH2, MatchCase:=True).Activate
ActiveCell.Offset(0, 8).Select: ActiveCell.Value = ActiveCell.Value + SL2.Value (Ghi giá trị cột phát sinh)
End If
...... n (hang hoa)
End Sub
- Tôi muốn dùng biến (r) nhưng code không tìm được (không biết sai ở đâu)
Sub CapNhatSoLieuKho ()
On Error Resume Next
Dim tx As TextBox
Dim r As Long
Set tx = HH
For r = 1 To 10
With Sheets("TON-KHO")
If tx & r <> "" Then
Selection.Find(What:="tx" & r, MatchCase:=True).Activate
ActiveCell.Offset(0, 8).Select: ActiveCell.Value = ActiveCell.Value + Me.Controls("SL" & r).Value
End If
End With
Next r
End Sub
- Cám ơn các bạn.