Chép dữ liệu bằng VBA

Liên hệ QC

thaibinh_excel

Thành viên hoạt động
Tham gia
18/10/07
Bài viết
127
Được thích
29
Nghề nghiệp
Bán Hàng
Dear các bác,

Mình có 1 file này, muốn tạo 1 code đơn giản để update dữ liệu từ sheet Information sang. Hiện tại mình đang dùng công thức Excel nên file hơi nặng và chạy chậm quá,hy vọng dùng VBA sẽ chạy tốt hơn.

Mình cũng mới tập tễnh mò mẫn VBA, nhờ các bác giúp dùm.

File dính kèm để các bác xem qua, pass : sony

Cảm ơn mọi người,
TB
 

File đính kèm

  • Copy of New Database.rar
    974.6 KB · Đọc: 147
Chỉnh sửa lần cuối bởi điều hành viên:
Bạn xem file đính kèm nhé!
À mà sheet information có nhiều dòng rỗng và công thức rỗng! Mình xóa bớt cho file nhẹ tý nha!

Trong sheet General, click vào nút MEMBERSHIP DATABASE nhé! Nhâm nhi ly cafe nếu dữ liệu nhiều!
 

File đính kèm

  • NewDatabase_kiet.zip
    21.8 KB · Đọc: 93
Lần chỉnh sửa cuối:
Upvote 0
Oi, sorry, cứ tưởng đã xóa nó. pass : sony

Thanks ban,
Tốt nhất bạn up lại file đã hủy pass tại bài #1 rồi nhờ mod xóa hộ các bài từ 2 đến 5 cho đở rác!
................
Tôi đã xem qua file này! Nó còn thiếu cái gì đó, bạn test lại xem, công thức toàn bị #REF! (có lẻ bạn đã xóa mất 1 sheet)
Kiểm tra kỹ lần nữa rồi hảy post lên nha (Công thức lổi tùm lum biết gì đâu mà giúp)
-----------
Sao chạy code nó ra kết quả #REF! ko hà Kiệt ơi!
 
Lần chỉnh sửa cuối:
Upvote 0
Tốt nhất bạn up lại file đã hủy pass tại bài #1 rồi nhờ mod xóa hộ các bài từ 2 đến 5 cho đở rác!
................
Tôi đã xem qua file này! Nó còn thiếu cái gì đó, bạn test lại xem, công thức toàn bị #REF! (có lẻ bạn đã xóa mất 1 sheet)
Kiểm tra kỹ lần nữa rồi hảy post lên nha (Công thức lổi tùm lum biết gì đâu mà giúp)
-----------
Sao chạy code nó ra kết quả #REF! ko hà Kiệt ơi!

Bác anhtuan oi, bác đừng để ý mấy cái phần bị Ref, mấy phần đó mình dùng công thức vì nó link đến 1 số sheet khác, chủ yếu là mình muốn lấy những dữ liệu tại Information qua General theo đúng vị trí của nó thôi. File của bác Kiệt hình như là okie rồi đó. Tối nay về ngâm cứu mới được hihihi.

Cám ơn 02 bác rất nhiều, có khó khăn gì nhờ 02 bác chỉ bảo giúp với.

TB

Hai bác ơi. Thất bại rồi, dữ liệu của mình hiện tại có khoảng 800 dòng, cho chạy code 20p rồi vẫn chưa chuyển được, chậm hơn cả công thức ??? K biết phải làm sao cả. Nhờ các bác chỉ giúp.
 
Upvote 0
Hai bác ơi. Thất bại rồi, dữ liệu của mình hiện tại có khoảng 800 dòng, cho chạy code 20p rồi vẫn chưa chuyển được, chậm hơn cả công thức ??? K biết phải làm sao cả. Nhờ các bác chỉ giúp.
Thử xài con macro này xem & cho ý kiến phản hồi, nha!

PHP:
Option Explicit
Const MyRow As Byte = 6   'Dong dau tien cua du lieu trong Hai sheet'

Sub TKietCopy()
On Error Resume Next:               Dim MaxRow1 As Long
' MsgBox MaxRow1'
Dim Timer_ As Double:               Timer_ = Timer
   Sheets("General").Select
   With Sheets("Information")
      MaxRow1 = .Range("B65000").End(xlUp).Row   'Dong cuoi co du lieu cua "Information"'

      .Range(.Cells(MyRow, 2), .Cells(MaxRow1, 4)).Copy Destination:=Cells(MyRow, 2)
      .Range(.Cells(MyRow, 8), .Cells(MaxRow1, 12)).Copy Destination:=Cells(MyRow, 7)
      .Range(.Cells(MyRow, 27), .Cells(MaxRow1, 39)).Copy Destination:=Cells(MyRow, 16)
      .Range(.Cells(MyRow, 21), .Cells(MaxRow1, 21)).Copy Destination:=Cells(MyRow, 14)
      
    .Range("IS" & MyRow).FormulaR1C1 = "=RC[-248]&"" ""&RC[-247]"
    .Range("IT" & MyRow).FormulaR1C1 = "=RC[-247]&""/""&RC[-246]&""/""&RC[-245]"
    .Range("IU" & MyRow).FormulaR1C1 = _
        "=RC[-239]& "" "" & RC[-238] & "" "" & ""P. "" & RC[-237] & "" Q. "" & RC[-236] & "" TP. "" & RC[-235]"
    .Range("IV" & MyRow).FormulaR1C1 = _
        "=RC[-234] & RC[-233] & ""P. "" & RC[-232] & ""Q. "" & RC[-231] & "" TP. "" & RC[-230]"
    .Range("IS" & MyRow & ":IV" & MyRow).AutoFill _
      Destination:=.Range("IS" & MyRow & ":IV" & MaxRow1), Type:=xlFillDefault
     
     .Range(.Cells(MyRow, "IS"), .Cells(MaxRow1, "IT")).Copy
      SpecialPaste Cells(MyRow, 5)
     .Range(.Cells(MyRow, "Iu"), .Cells(MaxRow1, "Iu")).Copy
     SpecialPaste Cells(MyRow, 13)
     .Range(.Cells(MyRow, "Iv"), .Cells(MaxRow1, "Iv")).Copy
     SpecialPaste Cells(MyRow, 15)
      
     .Range("IS1:IV" & MaxRow1 + 9).Clear

   End With
MsgBox Timer() - Timer_
End Sub
Mã:
[B]Sub SpecialPaste(Clls As Range)[/B] 
  Clls.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone
[B]End Sub[/B]

(Sau gần 3h cật lực!)

Macro mình viết với file của CaDaFi mà! Mình mới thử & vẫn đúng đấy thôi;
Nếu mình đưa file lên thì chịu chầu cà fê?
Mà file của bạn chưa xong mà diêm dúa quá; Không ít lần trên diễn đàn mình khuyên các bạn trong trường hợp này: Khoan đã, giành tài nguyên cho vệc khác thì hơn.

Flower3.jpg
 

File đính kèm

  • GPE.COM.rar
    17.6 KB · Đọc: 58
Upvote 0
Thử xài con macro này xem & cho ý kiến phản hồi, nha!

PHP:
Option Explicit
Const MyRow As Byte = 6   'Dong dau tien cua du lieu trong Hai sheet'

Sub TKietCopy()
On Error Resume Next:               Dim MaxRow1 As Long
' MsgBox MaxRow1'
Dim Timer_ As Double:               Timer_ = Timer
   Sheets("General").Select
   With Sheets("Information")
      MaxRow1 = .Range("B65000").End(xlUp).Row   'Dong cuoi co du lieu cua "Information"'

      .Range(.Cells(MyRow, 2), .Cells(MaxRow1, 4)).Copy Destination:=Cells(MyRow, 2)
      .Range(.Cells(MyRow, 8), .Cells(MaxRow1, 12)).Copy Destination:=Cells(MyRow, 7)
      .Range(.Cells(MyRow, 27), .Cells(MaxRow1, 39)).Copy Destination:=Cells(MyRow, 16)
      .Range(.Cells(MyRow, 21), .Cells(MaxRow1, 21)).Copy Destination:=Cells(MyRow, 14)
      
    .Range("IS" & MyRow).FormulaR1C1 = "=RC[-248]&"" ""&RC[-247]"
    .Range("IT" & MyRow).FormulaR1C1 = "=RC[-247]&""/""&RC[-246]&""/""&RC[-245]"
    .Range("IU" & MyRow).FormulaR1C1 = _
        "=RC[-239]& "" "" & RC[-238] & "" "" & ""P. "" & RC[-237] & "" Q. "" & RC[-236] & "" TP. "" & RC[-235]"
    .Range("IV" & MyRow).FormulaR1C1 = _
        "=RC[-234] & RC[-233] & ""P. "" & RC[-232] & ""Q. "" & RC[-231] & "" TP. "" & RC[-230]"
    .Range("IS" & MyRow & ":IV" & MyRow).AutoFill _
      Destination:=.Range("IS" & MyRow & ":IV" & MaxRow1), Type:=xlFillDefault
     
     .Range(.Cells(MyRow, "IS"), .Cells(MaxRow1, "IT")).Copy
      SpecialPaste Cells(MyRow, 5)
     .Range(.Cells(MyRow, "Iu"), .Cells(MaxRow1, "Iu")).Copy
     SpecialPaste Cells(MyRow, 13)
     .Range(.Cells(MyRow, "Iv"), .Cells(MaxRow1, "Iv")).Copy
     SpecialPaste Cells(MyRow, 15)
      
     .Range("IS1:IV" & MaxRow1 + 9).Clear

   End With
MsgBox Timer() - Timer_
End Sub
Mã:
[B]Sub SpecialPaste(Clls As Range)[/B] 
  Clls.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone
[B]End Sub[/B]
(Sau gần 3h cật lực!)

Thanks Bác SA-DQ, cho mình hỏi thêm chút nữa. Chép code này thế nào ạ?
Chép cả 02 vào 1 module hay tách riêng ra? Vì thấy ở bên dưới bác có 1 doan sub nhỏ tách riêng ? Thông cảm, dốt VBA quá' "-)

Bac SA-DQ ơi, code chép nhanh, nhưng bị sai 1 số vị trí và kết hợp :

Ví dụ : Day of Birth = Infor!G+H+I --> chép vào General! F, nhưng nó chép cả tháng vào năm sinh vào GENE!G và H, nêt cột giới tính và ID nhảy sang Nơi cấp và Nghề Nghiệp.

Tương tự vậy ở 1 số cột sau, thứ tự gán của nó bị lệch hết rồi a.
:)
Cám ơn bác.

Macro mình viết với file của CaDaFi mà! Mình mới thử & vẫn đúng đấy thôi;
Nếu mình đưa file lên thì chịu chầu cà fê?
Mà file của bạn chưa xong mà diêm dúa quá; Không ít lần trên diễn đàn mình khuyên các bạn trong trường hợp này: Khoan đã, giành tài nguyên cho vệc khác thì hơn.

okie. 1 chầu cafe, k thành vấn đề, Ah, k phải nó diêm dúa đâu ( dùng từ gì mà ghê quá) file này mình đã làm xong, nhưng dùng công thức thôi. Mình trích 1 phần nhỏ cần làm để đưa lên nên k chỉnh sửa định dạng thôi.
Cũng có thể vấn đề là Bình chép code sai. Anh thử post file cho Bình học hỏi với.

Thanks anh,
 
Upvote 0
Đồng ý với anh Sa về điều này! Nhiều khi nhìn mấy cái file các bạn nhở giúp mà nó màu mè quá, tôi nhìn muốn nổ con mắt luôn cũng không biết "chủ đề" chính nằm ở chổ nào?
Màu mè là tốt nếu như nó có thể làm nổi bật được chủ đề, bằng ngược lại chỉ tổ thêm chói mắt mà còn làm bảng tính chậm đi
(các bạn cứ thử dùng WordArt vẽ tùm lum trên bảng tính sẽ thấy ngay)
 
Upvote 0
Xin lỗi bác SA-DQ, nhưng file bác up lên cũng vẫn k chạy đúng được?? K biết có phải máy của B có vấn đề k nữa. Bình gửi lại bác file thể hiện những dữ liệu updates sai, bác xem thử giúp nhé,

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

File đính kèm

  • Du lieu.xls
    69 KB · Đọc: 23
Upvote 0
okie. 1 chầu cafe, k thành vấn đề
Theo bác SA-DQ kiếm cafe. Nhưng để copy cho nhanh, tôi làm cách này:
- Những cột dữ liệu nào độc lập, từ Infomation tôi bê nguyên dữ liệu của cột sang General. Nếu nhiều cột liên tục thì làm 1 lèo luôn,
- Chỉ chạy For Next với những dữ liệu phải ghép như Họ tên, Ngày sinh, ...
(Lấy code ca_dafi chỉnh lại)
Mã:
Sub CopyData()
Dim rDau As Integer, rCuoi As Integer
Dim Gen As Worksheet, Inf As Worksheet
Set Gen = Sheets("General")
Set Inf = Sheets("Information")
Inf.Select
rDau = 6
rCuoi = Inf.Range("B65000").End(xlUp).Row
Gen.Select
Range(Cells(rDau, 2), Cells(rCuoi, 36)).Clear[COLOR=blue] 'Xoa du lieu sheet General[/COLOR]
Range(Inf.Cells(rDau, 2), Inf.Cells(rCuoi, 4)).Copy Cells(rDau, 2)
Range(Inf.Cells(rDau, 10), Inf.Cells(rCuoi, 15)).Copy Cells(rDau, 7)
Range(Inf.Cells(rDau, 21), Inf.Cells(rCuoi, 21)).Copy Cells(rDau, 14)
Range(Inf.Cells(rDau, 27), Inf.Cells(rCuoi, 35)).Copy Cells(rDau, 16)
Range(Inf.Cells(rDau, 36), Inf.Cells(rCuoi, 39)).Copy Cells(rDau, 25)
For r = rDau To rCuoi
  If Inf.Cells(r, 2) <> "" Or IsNull(Inf.Cells(r, 2)) = False Then
    Cells(r, 5) = Inf.Cells(r, 5) & " " & Inf.Cells(r, 6)
    Cells(r, 6) = Inf.Cells(r, 7) & "/" & Inf.Cells(r, 8) & "/" & Inf.Cells(r, 9)
    Cells(r, 13) = Inf.Cells(r, 16) & ", " & Inf.Cells(r, 17) & ", P." & Inf.Cells(r, 18) & ", Q." & Inf.Cells(r, 19) & " tinh/tp " & Inf.Cells(r, 20)
    Cells(r, 15) = Inf.Cells(r, 22) & ", " & Inf.Cells(r, 23) & ", P." & Inf.Cells(r, 24) & ", Q." & Inf.Cells(r, 25) & " tinh/tp " & Inf.Cells(r, 26)
  End If
Next
Cells(6, 1).Select
End Sub
thaibinh_excel kiểm tra lại nhé !
 

File đính kèm

  • CopyData.xls
    61 KB · Đọc: 48
Upvote 0
Theo bác SA-DQ kiếm cafe. Nhưng để copy cho nhanh, tôi làm cách này:
- Những cột dữ liệu nào độc lập, từ Infomation tôi bê nguyên dữ liệu của cột sang General. Nếu nhiều cột liên tục thì làm 1 lèo luôn,
- Chỉ chạy For Next với những dữ liệu phải ghép như Họ tên, Ngày sinh, ...
(Lấy code ca_dafi chỉnh lại)
Mã:
Sub CopyData()
Dim rDau As Integer, rCuoi As Integer
Dim Gen As Worksheet, Inf As Worksheet
Set Gen = Sheets("General")
Set Inf = Sheets("Information")
Inf.Select
rDau = 6
rCuoi = Inf.Range("B65000").End(xlUp).Row
Gen.Select
Range(Cells(rDau, 2), Cells(rCuoi, 36)).Clear[COLOR=blue] 'Xoa du lieu sheet General[/COLOR]
Range(Inf.Cells(rDau, 2), Inf.Cells(rCuoi, 4)).Copy Cells(rDau, 2)
Range(Inf.Cells(rDau, 10), Inf.Cells(rCuoi, 15)).Copy Cells(rDau, 7)
Range(Inf.Cells(rDau, 21), Inf.Cells(rCuoi, 21)).Copy Cells(rDau, 14)
Range(Inf.Cells(rDau, 27), Inf.Cells(rCuoi, 35)).Copy Cells(rDau, 16)
Range(Inf.Cells(rDau, 36), Inf.Cells(rCuoi, 39)).Copy Cells(rDau, 25)
For r = rDau To rCuoi
  If Inf.Cells(r, 2) <> "" Or IsNull(Inf.Cells(r, 2)) = False Then
    Cells(r, 5) = Inf.Cells(r, 5) & " " & Inf.Cells(r, 6)
    Cells(r, 6) = Inf.Cells(r, 7) & "/" & Inf.Cells(r, 8) & "/" & Inf.Cells(r, 9)
    Cells(r, 13) = Inf.Cells(r, 16) & ", " & Inf.Cells(r, 17) & ", P." & Inf.Cells(r, 18) & ", Q." & Inf.Cells(r, 19) & " tinh/tp " & Inf.Cells(r, 20)
    Cells(r, 15) = Inf.Cells(r, 22) & ", " & Inf.Cells(r, 23) & ", P." & Inf.Cells(r, 24) & ", Q." & Inf.Cells(r, 25) & " tinh/tp " & Inf.Cells(r, 26)
  End If
Next
Cells(6, 1).Select
End Sub
thaibinh_excel kiểm tra lại nhé !

Thanks bác Long a. Dù okie hay không em vẫn muốn mời 02 bác cafe chứ a.
Em đã kiểm tra code, thấy có 03 vấn đề sau :
1. Hình như code này không nhận được là chỉ chép vùng có dữ liệu của Infor qua General mà nó chép hết toàn bộ kể cả ô trống => sau khi chép xong các ô trống có số// ( ngày sinh) hoặc đường,phường, quận, TP ( address )=> thời gian chép dữ liệu khoảng 30 p cho 800 dữ liệu
=> em kẻ khung sẵn cho khoảng 10,000 dòng, có thể nó hiểu khung cũng là dữ liệu cần update -> em nên xóa bớt khung trống đi, phải k a? ( em đoán vậy thôi)
2. Phần chép của giá trị sản phẩm vẫn bị lệch ô, đáng lẽ cột AJ,AK,AL,AM của Infor phải được chép vào AC,AD,AE,AF của General, vì em có chừa Y,Z,AA,AB của General lại để làm việc khác, nhưng nó vẫn chép AJ->Y, AK->Z....
=> em nen chuyển 04 cột này ra sau để 02 phần này tương ứng nhau luôn ( vì em k hiểu code này nên k sửa code được hichic )
3. Khi em chuyển dữ liệu xong, 01 số công thức em cài ở 1 số ô đặt thêm cũng bị mất luôn???

Nhờ Bác Long xem lại giúp.
Thanks các bác.
 
Lần chỉnh sửa cuối:
Upvote 0
Bac SA-DQ ơi, code chép nhanh, nhưng bị sai 1 số vị trí và kết hợp : Ví dụ : Day of Birth = Infor!G+H+I --> chép vào General! F, nhưng nó chép cả tháng vào năm sinh vào GENE!G và H, nêt cột giới tính và ID nhảy sang Nơi cấp và Nghề Nghiệp.
Tương tự vậy ở 1 số cột sau, thứ tự gán của nó bị lệch hết rồi a.

Mình xin phép cảnh cáo bạn!
Lý do: Đưa 2 file khác nhau lên thì làm sao biết đường mà theo ý bạn được.
Đó là việc bạn chưa tôn trọng lao động của người khác!
Phải biết tôn trọng sức lao động của người khác với chứ!
Nếu bạn cứ như vậy thì . . . tránh xa bạn mất thôi!
 
Lần chỉnh sửa cuối:
Upvote 0
Mình xin phép cảnh cáo bạn!
Lý do: Đưa 2 file khác nhau lên thì làm sao biết đường mà theo ý bạn được.
Đó là việc bạn chưa tôn trọng lao động của người khác!
Phải biết tôn trọng sức lao động của người khác với chứ!
Nếu bạn cứ như vậy thì . . . tránh xa bạn mất thôi!

Xin lỗi bác, tôn trọng ý kiến của các bác, file sau Bình đã chỉnh sửa lại hết những định dạng diêm dúa để đưa lên, không hề chỉnh sửa nội dung ???
Tất nhiên rất cám ơn sự hỗ trợ của các bác, không hiểu sao bác lại nói thế ạ? Việc công thức bị mất là không phải Bình nói là các bác làm mất công thức của Bình, mà vì Bình không đọc được code này nên không hiểu nó bị làm sao, chỉ đưa vấn đề để nhờ các bác xem giúp thôi ạ. Nếu có hiễu lầm thì cho Bình xin lỗi nhé,

Rất cám ơn sự hỗ trợ nhiệt tình của mọi người, đặc biệt là bác SA-DQ.
Best Regards,
TB
 
Upvote 0
Xin lỗi bác, tôn trọng ý kiến của các bác, file sau Bình đã chỉnh sửa lại hết những định dạng diêm dúa để đưa lên, không hề chỉnh sửa nội dung ???
Tất nhiên rất cám ơn sự hỗ trợ của các bác, không hiểu sao bác lại nói thế ạ? Việc công thức bị mất là không phải Bình nói là các bác làm mất công thức của Bình, mà vì Bình không đọc được code này nên không hiểu nó bị làm sao, chỉ đưa vấn đề để nhờ các bác xem giúp thôi ạ. Nếu có hiễu lầm thì cho Bình xin lỗi nhé,

Rất cám ơn sự hỗ trợ nhiệt tình của mọi người, đặc biệt là bác SA-DQ.
Best Regards,
TB

Quay trở lại đề tài này, mình có tạo chủ đề riêng nhưng không biết sao nó bị đi đâu mất tiêu, tìm k thấy. Các bác cho mình hỏi là nếu trong trường hợp mình chép dữ liệu từ sheet 1 workbook A sang sheet 1 workbook B thì sao a? hai sheet có cùng định dạng và bố cục, mình thử dùng lện gán Workbook. Worksheet. Range =
Workbook. Worksheet. Range thì nó chuyển hết toàn bộ dữ liệu của A sang B, ở A biến mất. Không biết mình thao tác gì sai nữa.

NHờ các bác chỉ giúp a.
Thanks cac bác.
TB
 
Upvote 0
thaibinh_excel đã viết:
Thanks bác Long a. Dù okie hay không em vẫn muốn mời 02 bác cafe chứ a.
Em đã kiểm tra code, thấy có 03 vấn đề sau :
1. Hình như code này không nhận được là chỉ chép vùng có dữ liệu của Infor qua General mà nó chép hết toàn bộ kể cả ô trống => sau khi chép xong các ô trống có số// ( ngày sinh) hoặc đường,phường, quận, TP ( address )=> thời gian chép dữ liệu khoảng 30 p cho 800 dữ liệuNhờ Bác Long xem lại giúp.
Thanks các bác.
Dữ liệu mà em đưa lên rất khó cho người trợ giúp: số trường của 2 bảng khác nhau, khác thứ tự, gộp nhiều trường từ bảng này sang bảng kia, ... mà em không trình bày thật rõ yêu cầu thì khó mà hình dung được sẽ làm gì. Tôi cũng cố gắng xem code của ca_dafi chỉnh lại chứ cũng không hiểu hết ý nghĩa các dữ liệu vì tên cột là tiếng Anh.

thaibinh_excel đã viết:
Quay trở lại đề tài này, mình có tạo chủ đề riêng nhưng không biết sao nó bị đi đâu mất tiêu, tìm k thấy
Em đưa bài sai nội quy vì không dấu tiếng Việt.

thaibinh_excel đã viết:
Các bác cho mình hỏi là nếu trong trường hợp mình chép dữ liệu từ sheet 1 workbook A sang sheet 1 workbook B thì sao a? hai sheet có cùng định dạng và bố cục, mình thử dùng lện gán Workbook. Worksheet. Range =
Workbook. Worksheet. Range thì nó chuyển hết toàn bộ dữ liệu của A sang B, ở A biến mất. Không biết mình thao tác gì sai nữa.
Em nên cụ thể câu code em viết thế nào chứ chung chung như thế làm sao trả lời được !
 
Upvote 0
Dữ liệu mà em đưa lên rất khó cho người trợ giúp: số trường của 2 bảng khác nhau, khác thứ tự, gộp nhiều trường từ bảng này sang bảng kia, ... mà em không trình bày thật rõ yêu cầu thì khó mà hình dung được sẽ làm gì. Tôi cũng cố gắng xem code của ca_dafi chỉnh lại chứ cũng không hiểu hết ý nghĩa các dữ liệu vì tên cột là tiếng Anh.


Em đưa bài sai nội quy vì không dấu tiếng Việt.


Em nên cụ thể câu code em viết thế nào chứ chung chung như thế làm sao trả lời được !

Dạ. Cám ơn anh Long nhiều, em cũng đang học từ từ cách viết Marco, phần updates 02 sheets thuộc 02 workbooks khác nhau em đã dùng Macro Record lại được, còn phần ở trên thì để em sắp xếp data lại cho tốt rồi nhờ anh nghiên cứu xem giúp em a.

Chúc anh cuối tuần vui.
TB
 
Upvote 0
Web KT
Back
Top Bottom