Không cập nhật được PT, PC trước số phiếu!

  • Thread starter Thread starter NH_DK
  • Ngày gửi Ngày gửi
Liên hệ QC

NH_DK

Let's patience
Tham gia
29/7/10
Bài viết
865
Được thích
1,203
Nghề nghiệp
Kế toán
Em có làm ví dụ này, em thử rất nhiều cách nhưng không làm sao làm được nó cập nhật được cả PT hay PC trước số phiểu trong sheet Data? Xin mọi người chỉ dùm em nhé!
Download
 
Em phải nói rõ code tap hơp CSDL là code nào chứ. Lọ mọ đi tìm thật mệt mà chả thấy.
 
Upvote 0
Em phải nói rõ code tap hơp CSDL là code nào chứ. Lọ mọ đi tìm thật mệt mà chả thấy.

Code này ah:
PHP:
Sub GhiSo()
    Dim i As Long, j As Byte, Max As Byte, No, Co
    S4.Activate
    On Error Resume Next
    No = Split([J7], "-")
    Co = Split([j8], "-")
    Max = IIf(UBound(No) > UBound(Co), UBound(No), UBound(Co))
    i = S2.[A65536].End(xlUp).Row + 1
    With S2
        .Range("A" & i) = [D5]
        .Range("B" & i) = [J6] 'dong nay phai sua ntn de no cap nhat duoc ca PT...(Vi du: PT 1, PT 2, ...)
        .Range("C" & i) = [D5]
        .Range("D" & i) = [B8] & " - " & [G11]
        .Range("F" & i, "G" & i) = Application.WorksheetFunction.Transpose([J7:J8])
        .Range("A" & i).Resize(, 8).Copy .Range("A" & i).Resize(Max + 1)
        If UBound(No) > UBound(Co) Then
            For j = 0 To UBound(No)
                .Range("F" & i + j) = No(j)
                .Range("H" & i + j).Resize(, 2) = [K7].Offset(j)
            Next j
        Else
            For j = 0 To UBound(Co)
                .Range("G" & i + j) = Co(j)
                .Range("H" & i + j).Resize(, 2) = IIf(Max = 0, [B9], [K7].Offset(j))
            Next j
        End If
    End With
    S4.Range("D5,C6,B7:B9,B11,G11,J7:J8").ClearContents
End Sub
 
Upvote 0
Em phải sửa đoạn:
PHP:
.Range("B" & i) = [J6]
để nó cập nhật được cả PT, PC cùng số phiếu!?
 
Upvote 0
Mình bận quá, chưa làm ngay được. Không sửa gì vào CSDL cả, vì nó là gốc.
Đã viết Code thì chỉ để 1 sheet in phiếu thôi, ai lại làm 1 cửa cho chó, 1 cửa cho mèo.
 
Upvote 0
Mình bận quá, chưa làm ngay được. Không sửa gì vào CSDL cả, vì nó là gốc.
Đã viết Code thì chỉ để 1 sheet in phiếu thôi, ai lại làm 1 cửa cho chó, 1 cửa cho mèo.

Em biết. Nhưng em muốn làm vậy ah. Em đang quan tâm tại sao nó không thấy lấy cả dữ liệu có PT, PC kèm được?
 
Upvote 0
Chỉ nên đưa trang tính có liên quan & macro vận hành nó lên thôi; Lúc đó bạn & cộng đồng sẽ tiết kiệm bao công sức & thời gian ấy chứ!
 
Upvote 0
Em cứ sửa tạm dòng đó như sau là được.KHi nào có phương án hay hơn tíbnh sau:

.Range("B" & i) = IIf(Left(S4.[J7], 3) = "111", "PT", "PC") & S4.[J6]

Em lưu ý rằng nếu là Code của Sheet thì chỉ cần địa chỉ ô thôi là đủ. Nhưng code của Module thì phải tham chiếu thêm tên Sheet. Có thể nó vẫn cho kết quả nhưng độ chính xác không tuyệt đối vì nó không tường minh. Khi thay đổi ô hiện hành thì lập tức code sinh chuyện.
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom