Tự động cập nhật số liệu từ sheet này qua sheet khác (1 người xem)

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

tran an 30490

Thành viên chính thức
Tham gia
19/8/13
Bài viết
59
Được thích
1
mợi người cho minh hỏi.minh có 2 sheet. 1 sheet là hàng PQC đang giữ. trong sheet PQC đang giữ có cột output RMA.1 sheet là hàng RMA.trong sheet RMA có cột input RMA.2 cột này có số liệu như nhau.ngoài nhứng cột này ra thi 2 sheet đều có những cột như: loại hàng,ngày tháng,..và 2 cột này đều có những số liệu khác ma minh phải tự động nhập vào.bây giờ mình muốn làm thế nào đề khi nhập số liệu hàng RMA ở sheet PQC đang giữ thì tất cả những thông tin liên quan đến số liệu này như ngày tháng, loại hàng cũng sẽ được cập nhật tự động sang sheet RMA mà không ảnh hưởng đến việc nhập số liệu của các cột khác trong 2 sheet này.chú ý là số liệu hàng RMA không liên tục mà khi nào có thì mới nhập.ví dụ như hàng RMA sau đến số liệu hàng khác.sau lại đến hàng RMA.cảm ơn mọi người nhiều.nếu dùng macro thì nhờ viết đoạn code giúp mình.mình không sành macro lắm.
 
Tim cách đưa file (dù là giả lập) lên diễn đàn đi bạn;

Bạn sẽ nhận được nhanh & đúng kết quả từ cộng đồng.
 
RE

mợi người cho minh hỏi.minh có 2 sheet. 1 sheet là hàng PQC đang giữ. trong sheet PQC đang giữ có cột output RMA.1 sheet là hàng RMA.trong sheet RMA có cột input RMA.2 cột này có số liệu như nhau.ngoài nhứng cột này ra thi 2 sheet đều có những cột như: loại hàng,ngày tháng,..và 2 cột này đều có những số liệu khác ma minh phải tự động nhập vào.bây giờ mình muốn làm thế nào đề khi nhập số liệu hàng RMA ở sheet PQC đang giữ thì tất cả những thông tin liên quan đến số liệu này như ngày tháng, loại hàng cũng sẽ được cập nhật tự động sang sheet RMA mà không ảnh hưởng đến việc nhập số liệu của các cột khác trong 2 sheet này.chú ý là số liệu hàng RMA không liên tục mà khi nào có thì mới nhập.ví dụ như hàng RMA sau đến số liệu hàng khác.sau lại đến hàng RMA.cảm ơn mọi người nhiều.nếu dùng macro thì nhờ viết đoạn code giúp mình.mình không sành macro lắm.

Nếu bạn không rành về Macro, bạn có thể dùng chức năng Record Macro để ghi lại các thao tác của bạn. Sau đó bạn sẽ có được 1 macro thực hiện theo ý bạn, dĩ nhiên phải chỉnh sửa lại đôi chút cho hoàn chỉnh.

Quay lại vấn đề của bạn, chắc chắn sẽ khó hình dung và hiểu được ý của bạn để thực hiện. Upload file để mọi người có thể hiểu được ý của bạn dễ dàng hơn.

Thân ái.
 
mình gửi file đính kèm đây nha.mọi người giúp mình với nhé.

Mình muốn khi nào nhập số liệu ở cột RMA ở Sheet giao nhận thì số liệu này sẽ tự động cập nhật sang sheet RMA.chú ý là cập nhật toàn bộ hàng đó nhé.và các số liệu còn lại ở 2 sheet đều là các số liệu tự nhập vào.các số liệu ở 2 sheet này chỉ giống nhau mỗi hàng RMA thôi.các nghiệp vụ khác không giống nhau.
 

File đính kèm

eo.mọi người giúp mình với.dùng macro cũng được
 
Mình muốn khi nào nhập số liệu ở cột RMA ở Sheet giao nhận thì số liệu này sẽ tự động cập nhật sang sheet RMA.chú ý là cập nhật toàn bộ hàng đó nhé.và các số liệu còn lại ở 2 sheet đều là các số liệu tự nhập vào.các số liệu ở 2 sheet này chỉ giống nhau mỗi hàng RMA thôi.các nghiệp vụ khác không giống nhau.

Diễn đạt mơ mơ hồ hồ, chẳng hiểu "cập nhật toàn bộ hàng đó nhé" là sao.
Code này chỉ tìm đúng dòng có Date, Time, Code giống nhau thì lấy số liệu qua, còn chuyên khác chưa hiểu.
Bạn thử thay đổi số liệu trong cột I sheet Giao_Nhan xem.
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim RMA As Double, Cll As Range, Tem As String
If Target.Column = 9 Then
    If Target.Rows.Count = 1 Then
        If Target.Offset(, 3) = "RMA" Then
            Tem = Target.Offset(, -6) & Target.Offset(, -5) & Target.Offset(, -4)
            RMA = Target.Value
            With Sheets("RMA")
                For Each Cll In .Range(.[C4], .[C65000].End(xlUp))
                    If Cll.Offset(, 9) = "RMA" Then
                        If Cll.Value & Cll.Offset(, 1) & Cll.Offset(, 2) = Tem Then
                            Cll.Offset(, 4).Value = RMA
                        End If
                    End If
                Next
            End With
        End If
    End If
End If
End Sub
 

File đính kèm

ý của mình là nếu có số liệu ở cột RMA trong sheet giao nhận đó, thì mình dùng công thức làm sao cho toàn bộ các số ở các cột khác liên quan đến số liệu đó cúng được copy qua sheet RMA.ở đây là date 13/08/2013,time 10:00,code VL,name : hàng hoá (liên quan đến số 25 ở cột RMA) và date 14/08/2013, time 8:30,code:HH,name: hàng hoá(liên quan đến số 100 ở cột RMA) cúng sẽ được copy sang cùng với 2 số liệu đó.còn những số liệu khác thì không phải copy qua đó.
 
ý của mình là nếu có số liệu ở cột RMA trong sheet giao nhận đó, thì mình dùng công thức làm sao cho toàn bộ các số ở các cột khác liên quan đến số liệu đó cúng được copy qua sheet RMA.ở đây là date 13/08/2013,time 10:00,code VL,name : hàng hoá (liên quan đến số 25 ở cột RMA) và date 14/08/2013, time 8:30,code:HH,name: hàng hoá(liên quan đến số 100 ở cột RMA) cúng sẽ được copy sang cùng với 2 số liệu đó.còn những số liệu khác thì không phải copy qua đó.
Hơi "bị hiểu" nhưng không chắc.
Thử lại code này xem:
PHP:
Public Sub GPE()
Dim sArr(), dArr(), I As Long, J As Long, K As Long, Cll As Range
With Sheets("Giao_Nhan")
    sArr = .Range(.[C4], .[C65000].End(xlUp)).Resize(, 10).Value
End With
ReDim dArr(1 To UBound(sArr, 1), 1 To 10)
For I = 1 To UBound(sArr, 1)
    If sArr(I, 7) <> "" Then
        K = K + 1
        For J = 1 To 4
            dArr(K, J) = sArr(I, J)
            dArr(K, 5) = sArr(I, 7)
        Next J
        For J = 8 To 10
            dArr(K, J) = sArr(I, J)
        Next J
    End If
Next I
With Sheets("RMA")
    .[C65000].End(xlUp).Offset(1).Resize(K, 10).Value = dArr
    K = 0
    .Range(.[C4], .[C65000].End(xlUp)).Resize(, 10).Sort Key1:=.[C4], Key2:=.[D4]
    .Range(.[C4], .[C65000].End(xlUp)).Offset(, -1).Resize(, 11).Borders.LineStyle = xlContinuous
    For Each Cll In Range(.[C4], .[C65000].End(xlUp))
       K = K + 1: Cll.Offset(, -1).Value = K
    Next
End With
End Sub
 

File đính kèm

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

Back
Top Bottom