Cập nhật dữ liệu trên từ sheet này sang sheet khác

Liên hệ QC

youkosuk

Thành viên chính thức
Tham gia
23/6/08
Bài viết
98
Được thích
22
Chào các bạn
Mình làm cái bảng này nhưng khi chuyển dữ liệu từ sheet 1 sang sheet DMHOADON thì không biết phải làm như thế nào,nhờ các bạn giúp đở hộ mình cái này.

Khi nhấn vào nút update thì dữ liệu từ sheet 1 sẽ cập nhật sang sheet DMHOADON theo từng số chứng từ, tướng ứng với từng dòng số hóa đơn, tiền VNĐ, tiền USD. Số chứng từ, ngày chứng từ và tên Công Ty sẽ tướng tứng với từng dòng hóa đơn, số tiền

Cám ơn các bạn nhiều
 

File đính kèm

Lần chỉnh sửa cuối:
Có ai giup mình cái vụ này với
 
Upvote 0
Macro cho nút lệnh Update của bạn đây

PHP:
Option Explicit
Sub UpdateValues()
 Dim Sh As Worksheet, Rng As Range, Clls As Range, dRng As Range
 
 Set Sh = Sheets("DMHoaDon")        'Ban Nen Dùng Ten Trang Tính Nhu Vay'
 Set Rng = Range([G12], [G38].End(xlUp))
 For Each Clls In Rng
   With Sh.[B65500].End(xlUp).Offset(1)
      .Value = [i3].Value  'NgCT'
      .Offset(, 1).Value = [i2].Value 'SCT'
      .Offset(, 2).Value = [D6].Value 'TCTi'
'      MsgBox .Offset(, 3).Resize(, 3).Address, , Clls.Resize(, 3).Address '
      .Offset(, 3).Resize(, 3).Value = Clls.Resize(, 3).Value
   End With
 Next Clls
End Sub

Khuyến mãi thêm công thức tại cột 'A' của 'DMHoaDon' đây: Tại [A2] bạn thiết lập công thức: =IF(B3="","",N(A2)+1)

Sau đó dùng FillDown Copy xuống tới [A96]

Chúc vui!
 
Lần chỉnh sửa cuối:
Upvote 0
Sao chạy được có 02 dòng mà không chạy được từ dòng số 01 đến dòng số 27 luôn vậy bạn ơi, mà nó lấy luôn cái tiêu đề "Tiền USD, Tiền VNĐ"
 
Upvote 0
Bạn sửa đoạn code này
Mã:
[SIZE=3][FONT=Courier New][COLOR=#0000bb]Set Rng [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000bb]Range[/COLOR][COLOR=#007700]([[/COLOR][COLOR=#0000bb]G12[/COLOR][COLOR=#007700]], [[/COLOR][COLOR=#0000bb]G38[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000bb]End[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000bb]xlUp[/COLOR][/FONT][/SIZE][COLOR=#007700][FONT=Courier New][SIZE=3]))[/SIZE][/FONT]
[/COLOR]
Thành
Mã:
[SIZE=3][FONT=Courier New][COLOR=#0000bb]Set Rng [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000bb]Range[/COLOR][COLOR=#007700]([[/COLOR][COLOR=#0000bb]G12[/COLOR][COLOR=#007700]], [[/COLOR][COLOR=#0000bb]G12[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000bb]End[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000bb]xldown[/COLOR][/FONT][/SIZE][COLOR=#007700][FONT=Courier New][SIZE=3]))[/SIZE][/FONT]
[/COLOR]
Chúc bạn thành công
 
Upvote 0
ok, thanks các bạn nhiều, ngon lành rồi
 
Upvote 0
Cho mình hỏi thêm, khi từ dòng số 1 đến dòng số 27 không có dữ liệu thì mình nhấn nút UPDATE thì nó vẫn update sang sheet DMHOADON với 27 dòng tên Công Ty, ngày chứng từ, Số chứng từ, cột tiền VNĐ, Tiền USD bằng 0. Mình nghỉ là nó sẽ không update khi từ dòng 1 đến dong 27 rỗng chứ.

khi mình để trống từ dòng 1 đến dòng 27 và update thử thì nó update đến 34 dòng sang bên sheet DMHOADON, mình muốn update chỉ những dòng có dữ liệu thôi, còn dòng nào không có dữ liệu thì không cần update. Các bạn giúp mình thêm cái vụ này nhé

Cám ơn các bạn nhiều
 
Lần chỉnh sửa cuối:
Upvote 0
Xin lỗi, lu bu quá

Bác SA_DQ và bác nmhung49 đâu rồi, giúp em với

Bạn thêm các dòng lệnh sau vô trướcc dòng đã có & thử xem nha

PHP:
 If [G12].Value = "" Then
   MsgBox "Ban Cha Nhap So Lieu", , "GPE Xin Tam Biet!"
   Exit Sub
 End If
' Set Rng = Range([G12], [G38].End(xlUp))'
'. . . . '
 
Lần chỉnh sửa cuối:
Upvote 0
Mình làm thử với thì cho kết quả như sau:

Nếu dòng số 1 bị trống, không có dữ liệu thì không cho cập nhật bên sheet DMHOADON

Nếu chỉ nhập duy nhất dòng 1 còn lại 26 dòng bỏ trống, thì kết quả bên DMHOADON là 34 dòng, dòng 1 là dòng có số liệu còn lại 33 dòng chỉ cột ngày chứng từ, số chứng từ, tên công ty có dữ liệu còn lại cột tiền VNĐ, Tiền USD không có số liệu ->

Nếu chỉ có dòng 1 và dòng 2 có số liệu, còn lại từ dòng 3 đến dòng 27 không có số liệu thì kết quả bên DMHOADON sẽ là 2 dòng số 1, 2 dòng số 2, 2 dòng số 3, tôgnr cộng là 6 dòng.

Nếu nhập không liên tục, ví dụ dòng 1, 2, 3 có số liệu dòng, 4 để trống, dòng 5 có số liệu thì kết quả chỉ cho ra 3 dòng 1,2,3, dòng 5 không có
 
Lần chỉnh sửa cuối:
Upvote 0
Hãy dùng
PHP:
Set Rng = Range([G12], [G38].End(xlUp))

thay vì
PHP:
'Set Rng = Range([G12], [G12].End(xldown))'

Nếu người nhập liệu ưng bỏ trống dòng như vậy.

Nhập liệu mà bừa fứa thế thì sinh tật mất thôi!

Chúc vui!
 
Upvote 0
Ok, thanks SD_DG nhiều, vậy là dòng 1 và các dòng còn lại tuyệt đối không được bỏ trống
 
Upvote 0
Web KT

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

Back
Top Bottom