Tự động cập nhật dữ liệu khi thêm worksheet mới

Liên hệ QC

quandrc

Thành viên thường trực
Tham gia
26/3/09
Bài viết
235
Được thích
233
Bác Chuyên gia nào cho em hỏi một vấn đề ......
em đang có một flie nhập dữ liệu các mặt hàng ở các kho A B C. Hằng ngày em phải nhập vào các sheet ứng với một sheet là một kho là một ngày vd: a.1 là kho a ngày 1, b.1 là kho b ngay 1 tương tự. Bây giờ em muốn khi dữ liệu nhập vào sheet a.1 là nó sẻ tự động cập nhật cộng vào sheet tổng hợp và các sheet kho ngày này không định sẳn, có nghĩa là làm đến ngày nào thì chèn thêm sheet ngày đó...Bác chuyên gia nào giúp em với em cám ơn. và giúp em băng công thức nhé. chức maro thì em bó tay, không hiểu (file đính kèm )
 

File đính kèm

  • Book3.xls
    16 KB · Đọc: 82
Bác Chuyên gia nào cho em hỏi một vấn đề ......
em đang có một flie nhập dữ liệu các mặt hàng ở các kho A B C. Hằng ngày em phải nhập vào các sheet ứng với một sheet là một kho là một ngày vd: a.1 là kho a ngày 1, b.1 là kho b ngay 1 tương tự. Bây giờ em muốn khi dữ liệu nhập vào sheet a.1 là nó sẻ tự động cập nhật cộng vào sheet tổng hợp và các sheet kho ngày này không định sẳn, có nghĩa là làm đến ngày nào thì chèn thêm sheet ngày đó...Bác chuyên gia nào giúp em với em cám ơn. và giúp em băng công thức nhé. chức maro thì em bó tay, không hiểu (file đính kèm )
Bạn nên sấp xếp và thiết kế lại bảng nhập liệu, làm như bạn rất là rối, 1 kho nhập 1 ngày = 1 sheet, làm sao quản lý cho nổi **~**. Cái này mình chỉ cần xây dùng 2 sheet. 1 Sheet dùng nhập liệu và 1 sheet dùng làm bảng tổng hợp thôi
Bạn xem file đính kèm nhé
Thân
 

File đính kèm

  • Book3(1).zip
    6 KB · Đọc: 161
Ban thông cảm ...! file này đã có sẳn và nội dung trong file rất nhiều vấn đề nhiều yêu cầu và nhiều công đoạn nhập dữ liêu. ở đây mình chỉ trích ra một yêu cầu công việc để đưa lên diễn đàn hỏi chuyên gia. do đó các chuyên gia cố gắng giúp mình theo như mình trình bày thank...!
 
Ban thông cảm ...! file này đã có sẳn và nội dung trong file rất nhiều vấn đề nhiều yêu cầu và nhiều công đoạn nhập dữ liêu. ở đây mình chỉ trích ra một yêu cầu công việc để đưa lên diễn đàn hỏi chuyên gia. do đó các chuyên gia cố gắng giúp mình theo như mình trình bày thank...!
Bạn nên sắp sếp lại theo hướng dẫn của bạn Domfootwear; có sắp sếp dữ liệu khoa học thì mới dễ tổng hợp, theo tôi bạn nên nhập các ngày của một kho lại thành một sheet VD Sheet A chứa việc nhập số liệu theo các ngày của Kho A...như vậy khi bạn có 4 kho (A;B;C;D) thì chỉ cần 4 sheet tương ứng, sau đó tổng hợp thì sẽ dễ dàng hơn và chắc chắn các anh chị trên GPE sẽ giúp được bạn.
 
Nội dung đặt ra là như vậy. với lại file đòi hỏi là như vậy như trình bày ở trên, làm sao các bác biểu em phải thay đổi được. Chắc là bó tay thôi... sâu xa của vấn đền ở đây em nghỉ không ra là dữ liệu nguồn không cố định có nghĩa là các sheet không định dạng trước được.
 
Bạn biết rằng yêu cầu của bạn là không tưởng không? Trong khi đó Macro là OK ngay!

(2) Với lại file đòi hỏi là như vậy như trình bày ở trên, làm sao các bác biểu em phải thay đổi được. Chắc là bó tay thôi... sâu xa của vấn đền ở đây em nghỉ không ra là dữ liệu nguồn không cố định có nghĩa là các sheet không định dạng trước được.
(1) & giúp em băng công thức nhé. chứ maro thì em bó tay, không hiểu

(1): Bạn có hiểu hết excel không (í tôi muốn nói, cái cách mà người ta xây dựng lên cái excel cho bạn xài đó? Nhưng bạn vẫn xài được nó đó thôi!)

Macro người khác viết cho bạn mà bạn từ chối thì đành chờ vậy bạn nha; Tuy nhiên mình cũng báo cho bạn biết rằng, với VBA cái này giải quyết rất ư là đơn giản so với công thức nhiều.

Bạn phải hiểu rằng, bạn yêu cầu di chuyển/Copy dữ liệu đó nha!

Nếu bạn suy nghĩ lại mình sẽ đưa file đính kèm & cụ thể với bạn sau

Chúc vui!
 
em có một flie nhập dữ liệu các mặt hàng ở các kho A B C.
Hằng ngày em phải nhập vào các sheet
Ứng với một sheet là một kho là một ngày vd: a.1 là kho a ngày 1, b.1 là kho b ngay 1 tương tự.
Bây giờ em muốn khi dữ liệu nhập vào sheet a.1 là nó sẻ tự động cập nhật cộng vào sheet tổng hợp.
& các sheet kho ngày này không định sẳn, có nghĩa là làm đến ngày nào thì chèn thêm sheet ngày đó...
(file đính kèm )
Bạn hãy tải file đính kèm & trình tự trãi qua các bước mình hướng dẫn. (Chỗ nào chưa thông thì ta thảo luận tiếp)

Trong file của mình, giờ chỉ có hai trang tính Trong đó có trang tính 'TongHop' & trang tính thứ 2 có chứa macro sự kiện, như sau:

PHP:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, Columns(2)) Is Nothing Then
   CopyToGeneral Target.Value, Target.Offset(, -1).Value, [b1].Value
 End If
End Sub
Thực tế, macro này có 1 dòng lệnh mà thôi; Diễn nôm dòng lệnh đó như sau:
Nếu Ta nhập số lượng mặt hàng nào đó vô cột 'B' (của trang tính này) thì thực thi macro CopyToGeneral Với ba thông số sau: (Thông số ta vừa nhập, Thông số tên mặt hàng & thông số tên kho)

Macro CopyToGeneral có nội dung như dưới đây:
(Tất nhiên bạn chưa cần quan tâm nhiều đến nội dung này;)
Sơ lược như vầy:
(*) Tìm Đúng tên kho đang tại cột nào lưu vô biến Col
(*) Tìm đúng dòng có tên mặt hàng trùng với thông số về mặt hàng mà nó vừa được nhận
(*) Chép số lượng lên đó
(Chú ý nó đang chỉ là chép hay chép đè lên cái số cũ hiện có; Nếu bạn muốn chép cộng vô, thì chúng ta sẽ sửa lại dòng lệnh đôi chút - Chuyện ấy không phức tạp)

Đến đây bạn nên thử nhập số liệu nhiều lần lên trang tính này & kiểm tra sau mỗi lần nhập coi chơi nha.

Khi tạo trang tính mới. (Đồng thời với việc ấy là tạo ra trường ứng với trang tính mới này tại 'TongHop') Cách mà bạn nên làm như sau:

Bạn bấm chuột vô trang 'A.1'; Sau đó ấn giữ {CTRL} & dùng chuột kéo tên trang tính này trên thanh SheetName sang phải (Copy trang tính)

Bây giờ, việc tiếp theo chỉ là sửa lại tên trang tính, nội ung tại [B1] & thêm tên trường tương ứng với trang tính này tại 'TongHop' (Đến đây xin dừng để nhắc bạn 1 điều, tên trang tính nên viết liền (Thay vì 'TONG HOP' ta nên gán nó cái tên 'TongHop') & không nên chưa các ký tự như dấu '.' đó đâu. Tất nhiên dấu chấm đó vẫn dùng được, cũng giống như không ai cấm chúng ta đi bộ mà 1 chân trên vĩa hè, một chân dưới lòng đường cả)

Làm cách này, là excel sẽ copy luôn cho bạn cái macro cần thiết sang trang tính mới
(Không tin thì bạn thử phải chuột lên trang tính song sinh mới tạo ra & chọn dòng cuối trong cửa số vừa xuất hiện xem sao.



PHP:
Option Explicit
Sub CopyToGeneral(SoLg As Double, TenHg As String, Kho As String)
 Dim Sh As Worksheet, Rng As Range, sRng As Range, RngK As Range
 Dim Col As Byte
 
 Set Sh = Sheets("TongHop")
 Set Rng = Sh.Range(Sh.[A1], Sh.[A65500].End(xlUp))
 Set RngK = Sh.Range(Sh.[A1], Sh.[iV1].End(xlToLeft))
 
 Set sRng = RngK.Find(Kho, , xlFormulas, xlWhole)
 If sRng Is Nothing Then
   MsgBox "Chua Co Kho Nay", , "Welcome to GPE.COM":     Exit Sub
 Else
   Col = sRng.Column - 1
 End If
 Set sRng = Rng.Find(TenHg)
 If sRng Is Nothing Then
   MsgBox "Chua Co Mat Hang Nay", , "Bye!":     Exit Sub
 Else
   sRng.Offset(, Col).Value = SoLg
 End If
End Sub
Chờ tin bạn!
 

File đính kèm

  • GPE.rar
    8.8 KB · Đọc: 163
Bạn hãy tải file đính kèm & trình tự trãi qua các bước mình hướng dẫn. (Chỗ nào chưa thông thì ta thảo luận tiếp)

Trong file của mình, giờ chỉ có hai trang tính Trong đó có trang tính 'TongHop' & trang tính thứ 2 có chứa macro sự kiện...

không được rồi bạn ơi....! mình chẳng hiểu gì về những câu lệnh trong vba của bạn. nhưng mình đã thử rồi copy một sheet mới và đổi tên nhưng nó không cập nhật dữ liệu. còn dữ liệu của các ngày của từng kho mình còn đang lưởng lự không biết nên cộng dồn vào cột của kho đó ở sheet "tonghop" luôn hay tạo một cột phụ sẻ liệt kê các ngày trong tháng kho đó để tiện theo dõi khi bị lệch dự liệu. mong bạn chỉ giáo.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Web KT
Back
Top Bottom