Ng_Duy_Long
Thành viên mới

- Tham gia
- 7/2/07
- Bài viết
- 47
- Được thích
- 24
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Set rng = Range("a:a")
If Not Intersect(Target, rng) Is Nothing Then
Sheets("Sheet2").Columns("A:A").Value = Sheets("Sheet1").Columns("A:A").Value
End If
End Sub
Làm thế chẳng phải là không được! Ví dụ đoạn code sau:Làm như vậy thì toàn bộ số liệu ở cột A của sheet2 bằng toàn bộ số liệu ở cột A của sheet1. Mình chỉ muốn những dữ liệu mới cập nhật vào sheet1 sẽ được copy sang sheet2. Chẳng hạn mình copy dữ liệu nào đó vào ô A4:A10 thì dòng cuối cùng cột A ở sheet2 (i = Sheet2.Cells(Rows.Count, 1).End(xlUp).Row) sẽ cập nhật dữ liệu của ô A4:A10 của sheet1
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([A2:A1000], Target) Is Nothing Then
Sheet2.Range("A65536").End(xlUp).Offset(1) = Target
End If
End Sub
Thì đương nhiên là vậy! Vì target chỉ có 1 cellCám ơn ndu96081631 , làm bằng Form thì mình cũng làm được. Code của ndu mới chỉ áp dụng được nếu đánh trực tiếp vào cột A, còn nếu copy dữ liệu nào đó vào cột A thì dữ liệu ở sheet2 ko update.
Làm thế chẳng phải là không được! Ví dụ đoạn code sau:
Tuy nhiên tôi lại chẳng thấy dùng thế có gì hay... mỗi lần gõ là 1 lần code chạy... "nhức đầu" lắm!PHP:Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([A2:A1000], Target) Is Nothing Then Sheet2.Range("A65536").End(xlUp).Offset(1) = Target End If End Sub
Thông thường trường hợp này người ta dùng UserForm.. Còn không thì sau khi gõ xong dử liệu sẽ bấm nút 1 nhát cho nó cập nhật (code chỉ chạy 1 lần)
Làm thế chẳng phải là không được! Ví dụ đoạn code sau:
Tuy nhiên tôi lại chẳng thấy dùng thế có gì hay... mỗi lần gõ là 1 lần code chạy... "nhức đầu" lắm!PHP:Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([A2:A1000], Target) Is Nothing Then Sheet2.Range("A65536").End(xlUp).Offset(1) = Target End If End Sub
Thông thường trường hợp này người ta dùng UserForm.. Còn không thì sau khi gõ xong dử liệu sẽ bấm nút 1 nhát cho nó cập nhật (code chỉ chạy 1 lần)
Ban thu code nay minh chinh 1 it chua test.Chào các anh các chị, các bạn!
Em có 1 file, gồm: 12 sheet chứng từ theo tháng, 1 sheet tonghop, sheet1 và sheet CSDL. Em có viết đoạn mã vb tự động cập nhật 12 sheet chứng từ vào sheet tonghop (ko cập nhật sheet 1 và sheet CSDL). Các anh/chị và các bạn giúp em sửa lại đoạn mã vb sao cho phần update bên sheet tonghop đã loại trừ dòng TOTAL, dòng trống ở mỗi sheet chứng từ và bên sheet tonghop phần dữ liệu update tự động định dạng border theo số liệu hiện hữu.
Xin cảm ơn
Private Sub Worksheet_Activate()
Dim i As Long, fR As Long, lR As Long, Rws As Long, LT
Application.ScreenUpdating = False
[4:65000].Delete 'Xoa du lieu hien co
Sheets(Array("TONGHOP", "Sheet1", "CSDL")).Move Before:=Sheets(1) 'Di chuyen sheet len dau
For i = 4 To Sheets.Count 'Lam viec voi sheet thu 3 tro di (tru sheet TONGHOP va Ref)
lR = Sheets(i).[A65000].End(xlUp).Row 'Xac dinh dong cuoi chua du lieu
If lR > 3 Then 'Neu co du lieu thi thuc hien
fR = 4 'Xac dinh dong dau cua sheet i
LT = Sheets("tonghop").Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets(i).Range("A4:M" & lR).Copy Sheets("tonghop").Range("A" & LT)
End If
Next
Application.ScreenUpdating = True
End Sub
Đoạn code của bạn copy qua sheet "tonghop" đúng định dạng nhưng vẫn chưa loại trừ được hàng total tại các sheet tháng, bạn giúp mình chỉnh thêm đoạn code trên nhé. Cám ơn bạnBan thu code nay minh chinh 1 it chua test.
Mã:Private Sub Worksheet_Activate() Dim i As Long, fR As Long, lR As Long, Rws As Long, LT Application.ScreenUpdating = False [4:65000].Delete 'Xoa du lieu hien co Sheets(Array("TONGHOP", "Sheet1", "CSDL")).Move Before:=Sheets(1) 'Di chuyen sheet len dau For i = 4 To Sheets.Count 'Lam viec voi sheet thu 3 tro di (tru sheet TONGHOP va Ref) lR = Sheets(i).[A65000].End(xlUp).Row 'Xac dinh dong cuoi chua du lieu If lR > 3 Then 'Neu co du lieu thi thuc hien fR = 4 'Xac dinh dong dau cua sheet i LT = Sheets("tonghop").Range("A" & Rows.Count).End(xlUp).Row + 1 Sheets(i).Range("A4:M" & lR).Copy Sheets("tonghop").Range("A" & LT) End If Next Application.ScreenUpdating = True End Sub
An toàn nhất là bạn chỉnh lại các sheet từ T1 đến T12, ô chứa chữ TOTAL sang cột B (Cột A để trống - Không bị Merge Cells)Đoạn code của bạn copy qua sheet "tonghop" đúng định dạng nhưng vẫn chưa loại trừ được hàng total tại các sheet tháng, bạn giúp mình chỉnh thêm đoạn code trên nhé. Cám ơn bạn
Cám ơn bạn. Mình làm theo bạn nói và đoạn code đã chạy theo ý của mìnhAn toàn nhất là bạn chỉnh lại các sheet từ T1 đến T12, ô chứa chữ TOTAL sang cột B (Cột A để trống - Không bị Merge Cells)
có thể hướng dẫn cho e cách làm theo phương pháp này với được ko ạ,e cũng đang cần giải pháp như vậy.như file của e đang cần mỗi lần thêm hóa đơn bán hàng nó sẽ tự động cập nhật thông tin từ sheet HDBH sang sheet XUAT ạLàm thế chẳng phải là không được! Ví dụ đoạn code sau:
Tuy nhiên tôi lại chẳng thấy dùng thế có gì hay... mỗi lần gõ là 1 lần code chạy... "nhức đầu" lắm!PHP:Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([A2:A1000], Target) Is Nothing Then Sheet2.Range("A65536").End(xlUp).Offset(1) = Target End If End Sub
Thông thường trường hợp này người ta dùng UserForm.. Còn không thì sau khi gõ xong dử liệu sẽ bấm nút 1 nhát cho nó cập nhật (code chỉ chạy 1 lần)
m có file này mong mọi người giúp đỡ, e muốn nhập dự liệu bên sheet line 1 tự động chuyển dữ liệu qua sheet 1( các ô ở 2 sheet e đã tô mà vàng) khi e xóa dữ liệu bên sheet LINE 1 thì bên Sheet 1 không mất đi ạ, e xin cảmơn!Làm thế chẳng phải là không được! Ví dụ đoạn code sau:
Tuy nhiên tôi lại chẳng thấy dùng thế có gì hay... mỗi lần gõ là 1 lần code chạy... "nhức đầu" lắm!PHP:Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([A2:A1000], Target) Is Nothing Then Sheet2.Range("A65536").End(xlUp).Offset(1) = Target End If End Sub
Thông thường trường hợp này người ta dùng UserForm.. Còn không thì sau khi gõ xong dử liệu sẽ bấm nút 1 nhát cho nó cập nhật (code chỉ chạy 1 lần)
bạn đăng bài hỏi cùng một nội dung mà ở nhiều mục là vi phạm nội quy đó.m có file này mong mọi người giúp đỡ, e muốn nhập dự liệu bên sheet line 1 tự động chuyển dữ liệu qua sheet 1( các ô ở 2 sheet e đã tô mà vàng) khi e xóa dữ liệu bên sheet LINE 1 thì bên Sheet 1 không mất đi ạ, e xin cảmơn!
Bạn vi phạm nội quy diễn đàn.m có file này mong mọi người giúp đỡ, e muốn nhập dự liệu bên sheet line 1 tự động chuyển dữ liệu qua sheet 1( các ô ở 2 sheet e đã tô mà vàng) khi e xóa dữ liệu bên sheet LINE 1 thì bên Sheet 1 không mất đi ạ, e xin cảmơn!