Xin giúp em cách đưa dữ liệu từ Sheet NHAP sang 2 Sheet CHITIETCT,TON ? (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

TeThienDaiThanh

Thành viên mới
Tham gia
22/3/09
Bài viết
24
Được thích
2
Như tiêu đề ạh, e đang điều chỉnh lại code excel cho công việc bán hàng hiện tại để dễ quản lý và để tránh thất thoát về sau vì e định thuê thêm người phụ tiếp công việc hiện tại để bớt rối rắm //////
Do câu văn đôi khi còn gà nên xin xem trong file đính kèm để dễ hình dung
Em có sheet NHAP như hình sau

1.png


Và Sheet CHITIETCT như sau

2.png


Em muốn khi nhập vào sheet NHAP, nhấn nút "Nhập KHO" thì các đối tượng trên sheet NHAP sẽ được add vào Sheet CHITIETCT, đồng thời nếu được thì add vào KHO luôn để dễ quản lý số lượng.

Em có viết code vba btNhap như sau:
Mã:
Sub btNhap_Click()
     'Dim NCCap As Characters
     NCCap = Range("D3").Value 'xac dinh cot Nha Cung Cap
     If NCCap <> "" Then
        If MsgBox("BAN CO MUON TIEP TUC NHAP KHO?", vbYesNo) = vbYes Then
            'Call funcNhapTon
            Call funcNhapChiTietCT
        Else
            'MsgBox "No", vbOKOnly, "Thongbao"
            Range("C5").Select
        End If
    Else
        MsgBox "Vui long chon Nha Cung Cap truoc", vbOKOnly, "Thong Bao"
        Range("D3").Select
    End If
End Sub
Sub funcNhapChiTietCT()
    Sheets("NHAP").Select
    NgayNhap = Range("B2").Value
    NCC = Range("D3").Value
    TongTien = Range("B3").Value
    NhapXuat = GetActiveSheet()
    Nhom = Range("A5").Value
    
    Dim SoLoaiSP As Integer
    SoLoaiSP = Range("C2").Value
    Dim i As Integer
    For i = 0 To SoLoaiSP
        TenLoai = Range("B5").Value
        SoLuong = Range("C5").Value
        DonGia = Range("D5").Value
        ThanhTien = Range("E5").Value
    Next i    
    
    Sheets("CHITIETCT").Select
    'Range("A5").Select
    n = Range("A5").Select
    ActiveCell.Offset(n + 1, 0).Value = NgayNhap
    ActiveCell.Offset(n + 1, 1).Value = NhapXuat
    ActiveCell.Offset(n + 1, 2).Value = Nhom
    ActiveCell.Offset(n + 1, 3).Value = NCC
    ActiveCell.Offset(n + 1, 4).Value = TenLoai
    ActiveCell.Offset(n + 1, 5).Value = SoLuong
    ActiveCell.Offset(n + 1, 6).Value = DonGia
    ActiveCell.Offset(n + 1, 7).Value = ThanhTien
    ActiveCell.Offset(n + 1, 8).Value = TongTien
    
    
    'ActiveCell.Offset(n + 5, 0).Value = Viettel0
    'ActiveCell.Offset(n + 5, 1).Value = Viettel20
    
End Sub

Nhưng vẫn không nhập vào được như ý, nhờ các ace cao thủ giúp đỡ e, xin cám ơn ạh
 

File đính kèm

43 views mà các cao thủ ko có cao kiến gì hết **~**

Chẳng lẽ ca này khó dữ vậy sao nhỉ ?
Theo em thì cái này cần bỏ vào for loop i=1 đến C2, kiểm tra từ C5 đến C14 nếu có dữ liệu thì gán qua bên sheet CHITIETCT, null thì next ! Mà do gà mờ vba nên ko biết cách làm như thế nào cả.

Mong các bác giúp em.
 
Upvote 0
Sheet NHAP không đủ dữ liệu. Không thể dựa vào đó để đặt giải thuật code.
Tôi lười đoán mò lắm. Bạn phải đợi người nào rảnh viết thử code. Sau vài lần "không phải vậy..." và "code chỉnh theo điều kiện mới..." thì bạn sẽ có lời giải.
 
Upvote 0
'Dua du lieu tu "NHAP" sang "CHITIETCT"
Sub Nhap_CTCT()


Dim wsSrc As Worksheet
Dim wsDes As Worksheet
Dim sFomular As String
Dim iCount As Integer
Dim i, j As Integer

Set wsSrc = Application.Sheets("NHAP")
Set wsDes = Application.Sheets("CHITIETCT")

sFomular = "=counta(B:B)"

'count number of item on sheet NHAP
iCount = wsSrc.Evaluate(sFomular)

i = 5 'row number, where 1st item is stored
j = 6 'row number, we put data on sheet "CHITIETCT", start on this row


Dim sNCC

sNCC = wsSrc.Range("D3").Value
sDate = wsSrc.Range("B2").Value
sType = "NHAP"
sGroup = ""
For i = 5 To iCount
'Loai -> Ten San Pham
wsDes.Range("E" & j).Value = wsSrc.Range("B" & i).Value
wsDes.Range("D" & j).Value = sNCC
wsDes.Range("A" & j).Value = sDate
wsDes.Range("B" & j).Value = sType

'-- Group
If (Trim(wsSrc.Range("A" & i).Value) <> "") Then
sGroup = Trim(wsSrc.Range("A" & i).Value)
'MsgBox "khac"
End If

wsDes.Range("C" & j).Value = sGroup 'Group

'So Luong
If (Trim(wsSrc.Range("C" & i).Value) <> "") Then
wsDes.Range("F" & j).Value = wsSrc.Range("C" & i).Value
Else
wsDes.Range("F" & j).Value = "Khong Ton Tai"
End If

'Don Gia
If (Trim(wsSrc.Range("D" & i).Value) <> "") Then
wsDes.Range("G" & j).Value = wsSrc.Range("D" & i).Value
Else
wsDes.Range("G" & j).Value = "Khong Ton Tai"
End If

'Thanh Tien
If (Trim(wsSrc.Range("E" & i).Value) <> "") Then
wsDes.Range("H" & j).Value = wsSrc.Range("E" & i).Value
Else
wsDes.Range("H" & j).Value = "Khong Ton Tai"
End If

j = j + 1
Next i

set wsSrc = nothing
set wsDes = nothing
End Sub
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom