lưu lại dữ liệu nhập từ các sheet khác nhau. (5 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

netuser36

Thành viên chính thức
Tham gia
20/9/07
Bài viết
63
Được thích
2
Donate (Momo)
Donate
mình có 3 sheet, áo, chi tiết, lưu dữ liệu. hàng ngày khi bán áo thì mình nhập vào tên áo và giá. sheet chi tiết nhập kiểu áo. tại điạ chi duy nhất (không xuống hàng để nhập), mình muốn 1 lần nhập vào thì sheet lưu dữ liệu lấy dữ liệu vừa nhập vào để lưu lại, khi nhập áo khác vào ô trên sheet áo. thì lưu thành hàng tiếp theo trên sheet lưu chứ không thay thế dữ liệu củ. file kèm, nhò các bạn giúp.
 

File đính kèm

mình có 3 sheet, áo, chi tiết, lưu dữ liệu. hàng ngày khi bán áo thì mình nhập vào tên áo và giá. sheet chi tiết nhập kiểu áo. tại điạ chi duy nhất (không xuống hàng để nhập), mình muốn 1 lần nhập vào thì sheet lưu dữ liệu lấy dữ liệu vừa nhập vào để lưu lại, khi nhập áo khác vào ô trên sheet áo. thì lưu thành hàng tiếp theo trên sheet lưu chứ không thay thế dữ liệu củ. file kèm, nhò các bạn giúp.
Bạn sử dụng code này thử xem:
Mã:
Public Sub GPE()
Dim Dong As Long
With Sheet3
Dong = .Range("d65000").End(xlUp).Row + 1
     .Range("D" & Dong).Value = Sheet1.[c6].Value
     .Range("E" & Dong).Value = Sheet1.[d6].Value
     .Range("F" & Dong).Value = Sheet2.[d6].Value
     .Range("G" & Dong).Value = Sheet2.[e6].Value
End With
End Sub[B]​[/B]
 
cảm ơn 2 bạn, đây là ví dụ nhu cầu như vậy, thức tế rất nhiều cột dữ liệu. sheet luudulieu chỉ lấy 1 vài dữ liệu các ô từ 2 sheet để thống kê (không lấy tất cả các cột của 2 sheet). code của bạn giaiphap không lưu được.
cho mình hỏi có cách gì, cứ mỗi lần nhập không cần bấm nút lưu dữ liệu mà khi nhập vào she áo và shet chi tiết thì tự lưu lại trên sheet luudulieu duoc không. vì thực chất chỉ lấy lại các lần nhập thôi.
 
cảm ơn 2 bạn, đây là ví dụ nhu cầu như vậy, thức tế rất nhiều cột dữ liệu. sheet luudulieu chỉ lấy 1 vài dữ liệu các ô từ 2 sheet để thống kê (không lấy tất cả các cột của 2 sheet). code của bạn giaiphap không lưu được.
cho mình hỏi có cách gì, cứ mỗi lần nhập không cần bấm nút lưu dữ liệu mà khi nhập vào she áo và shet chi tiết thì tự lưu lại trên sheet luudulieu duoc không. vì thực chất chỉ lấy lại các lần nhập thôi.
Thì mình trả lời trên file của bạn thôi, còn bạn muốn áp dụng vào file khác là việc của bạn thôi chứ lúc này đâu còn là code của tôi nửa. Bạn muốn trả lời chính xác thì bạn phải đưa file thực tế của mình lên.
 
mình đã tạo nút và khi nhap xong bấm để gọi hàm theo code của bạn "giảipháp" đã lấy được dữ liệu tổng hợp. cho mình hỏi,
1/ khi lưu xong trên sheet luu du lieu thì xóa tại ô trên sheet áo để nhập lần khác.
2/ mình có thể dùng sự kiện gì khi nhập trên sheet áo và chi tiết thì tự động tổng hợp lên sheet luudulieu như vậy không. nghia là nhập xong không cần tạo nút bấm để gọi hàm. mà có thay đổi trên ô tên áo và giá thì cập nhật treen sheet lưu du lieu luôn. cảm ơn bạn.
 
1/ khi lưu xong trên sheet luu du lieu thì xóa tại ô trên sheet áo để nhập lần khác.
Bạn sửa code như sau:
Mã:
Public Sub GPE()
Dim Dong As Long
With Sheet3
      Dong = .Range("d65000").End(xlUp).Row + 1
     .Range("D" & Dong).Value = Sheet1.[B6].Value
     .Range("E" & Dong).Value = Sheet1.[c6].Value
     .Range("F" & Dong).Value = Sheet2.[d6].Value
     .Range("G" & Dong).Value = Sheet2.[H6].Value
End With
Sheet1.Range("B6:F6").ClearContents
End Sub
2/ mình có thể dùng sự kiện gì khi nhập trên sheet áo và chi tiết thì tự động tổng hợp lên sheet luudulieu như vậy không. nghia là nhập xong không cần tạo nút bấm để gọi hàm. mà có thay đổi trên ô tên áo và giá thì cập nhật treen sheet lưu du lieu luôn. cảm ơn bạn.
Cái này thì hoàn toàn thực hiện được như sẽ mang lại rắc rối cho bạn, ví dụ khi bạn nhập dữ liệu nếu chưa đủ nó tự động thêm vào, khi nhập đủ cũng tự ghi vào, khi bạn sửa chữa nó cũng tự ghi vào... Lúc đó một mặt hàng sẽ ghi nhiều lần.
Hoặc bạn muốn lưu thì sẽ có điều kiện như thế nào mới ghi được chứ.(Có thể đủ dữ liệu mới ghi, nhưng khi đang nhập lỡ gõ sai chưa kịp sửa nó liền lưu sang sheet luudulieu và xóa dữ liệu đang nhập làm bạn không kiểm tra được...) Nói chung có rất nhiều vấn đề nảy sinh, tôi nghĩ click một cái chắc không lâu đâu, trừ khi bạn quá lười.
 
vâng mình có thử chạy khi change worksheet nhưng rất bất tiện, đó là mình lo khi nhập họ quên nhấp lưu. cho mình hỏi ý nghĩa dòng lệnh này là sao ạ.
.Range("d65000").End(xlUp).Row
 
cảm ơn 2 bạn. đã gửi file lên lại. nhờ giúp đỡ.

Bạn nêu vấn đề chưa rõ ý muốn là gì, mà chỉ nêu nhờ khó võ đoán.

Nhưng cũng góp ý thêm:

- Nếu chí có nhập liệu thì nên gom sheet ao và sheet chitiet vào 1, thiết kế lại theo chiều dọc cho dễ quang sát, nhập dữ liệu từ trên xuống dưới sẽ thuận tiện hơn mà đỡ sai, còn làm như kiểu bạn thì nhập luôn vô sheet luudulieu cho rồi, khỏi code kiết gì cho mệt.
 
Web KT

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

Back
Top Bottom