Viết dùm em code cập nhật dữ liệu

Liên hệ QC

tuyettrang186

Thành viên mới
Tham gia
11/12/10
Bài viết
30
Được thích
4
Em có ví dụ này nhờ các huynh viết dùm em code cập nhật dữ liệu sang Sheet bên cạnh (Cập nhật dữ liệu từ Sheet1 sang Sheet2) nhé!
 

File đính kèm

  • GPEbt.rar
    4.9 KB · Đọc: 27
Nếu muốn vậy (Có chứa cả những dòng rỗng) bạn thay code sau:

Mã:
Sub Worksheet_Activate()
Dim nN As Long
nN = S1.[A7].SpecialCells(xlLastCell).Row - 6
S2.[A4:D1000].ClearContents
S2.[B4].Resize(nN, 2).Value = S1.[B7].Resize(nN, 2).Value
S2.[D4].Resize(nN).Value = S1.[F7].Resize(nN).Value
S2.[A4].Resize(nN).FormulaR1C1 = "=MAX(R3C1:R[-1]C)+1"
S2.[A4].Resize(nN).Value = S2.[A4].Resize(nN).Value
End Sub
 
Upvote 0
Nếu muốn vậy (Có chứa cả những dòng rỗng) bạn thay code sau:

Mã:
Sub Worksheet_Activate()
Dim nN As Long
nN = S1.[A7].SpecialCells(xlLastCell).Row - 6
S2.[A4:D1000].ClearContents
S2.[B4].Resize(nN, 2).Value = S1.[B7].Resize(nN, 2).Value
S2.[D4].Resize(nN).Value = S1.[F7].Resize(nN).Value
S2.[A4].Resize(nN).FormulaR1C1 = "=MAX(R3C1:R[-1]C)+1"
S2.[A4].Resize(nN).Value = S2.[A4].Resize(nN).Value
End Sub

Anh sealand ơi, giờ em muốn những dòng trống bên Sheet1 sẽ không cập nhật sang Sheet2 nữa thì phải sửa lại code như thế nào hả anh?
Anh xem và sửa dùm em nhé!
Cám ơn anh nhiều!
 

File đính kèm

  • GPEbt_sua1.rar
    8.2 KB · Đọc: 16
Upvote 0
Vấn đề cơ bản phải như thế nào mới được coi là trống. Trong khi viết code cập nhật dữ liệu thường người ta phải có kiểm tra dữ liệu trước khi cập nhật sang. Ví dụ 1 dồng dữ liệu không có mã hàng coi như không hợp lệ và bỏ qua
 
Upvote 0
Vâng, giả sử nếu cột mã hàng (Sheet1) có ô nào trống thì Sheet2 sẽ không cập nhật cả dòng đó luôn.
Anh xem và sửa dùm em nhé!
 
Lần chỉnh sửa cuối:
Upvote 0
Cứ coi như không có tên hàng thì bỏ, bạn tham khảo code:

Mã:
Sub Worksheet_Activate()
Dim Rng As Range
Application.ScreenUpdating = False
S2.[A4:D1000].ClearContents
With S1
 .Range("A6:F1000").AutoFilter Field:=2, Criteria1:="<>"
Set Rng = .AutoFilter.Range.Offset(1, 1).Resize(.AutoFilter.Range.Rows. _
                   Count - 1, 2).SpecialCells(xlCellTypeVisible)
        Rng.Copy S2.[B4]
Set Rng = .AutoFilter.Range.Offset(1, 5).Resize(.AutoFilter.Range.Rows. _
                   Count - 1, 1).SpecialCells(xlCellTypeVisible)
        Rng.Copy S2.[D4]
.Range("A6:F81").AutoFilter
End With
Set Rng = S2.[A4].Resize(WorksheetFunction.CountA(S2.[B4:B1000]))
Rng.FormulaR1C1 = "=MAX(R3C1:R[-1]C)+1"
Rng.Value = Rng.Value
Set Rng = Nothing
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom