Tổng hợp số liệu trên nhiều Sheet

Liên hệ QC
Cám ơn bạn Đệ và các bạn về giải pháp trên vì cũng đã ra được kết quả,nhưng đồng nghĩa với việc mình phải đặt 300 mã trên 300 cột vậy khi tìm mã sản phẩm để sản xuất có lâu không ,bạn còn cách nào nữa không giúp mình với còn không thì phải sử dụng cách của bạn
 
Rất cám ơn ban SA_DQ đã giúp đỡ mình nhưng khi mình chèn thêm mã sản phẩm thì bảng tính lại không chạy chắc do mình làm sai động tác gì đó nhưng mình kg biết gì về Macro ,cho mình hỏi ngòai bảng tính viết bằng macro có thể sử dụng công thức Excel được không bạn ? nếu là excel trường hợp lỗi mình có thể mò mẫm ra được phần bị lỗi bạn giúp mình nhé , cám ơn bạn nhiều
Nếu bạn muốn dùng công thức thì đây.

Nếu ở bảng định mức bỏ bớt cột SL thì công thức sẽ đơn giản và dễ hiểu hơn.
Gửi xong mới thấy bài này của bạn.
Cám ơn bạn Đệ và các bạn về giải pháp trên vì cũng đã ra được kết quả,nhưng đồng nghĩa với việc mình phải đặt 300 mã trên 300 cột vậy khi tìm mã sản phẩm để sản xuất có lâu không ,bạn còn cách nào nữa không giúp mình với còn không thì phải sử dụng cách của bạn
Nghĩa là bạn không phụ thuộc vào mẫu có sẵn. Vậy tôi xóa bớt các sột SL trong sheet DM luôn cho nó gọn. Bạn xem trong file Cong thuc 1
 

File đính kèm

  • Cong thuc.xls
    49 KB · Đọc: 22
  • Cong thuc 1.xls
    37 KB · Đọc: 25
Lần chỉnh sửa cuối:
Cám ơn bạn SA_DQ . làm phiền bạn giúp mình bên sheet THop theo phương án nào hiệu qủa và đỡ mất thời gian của bạn và bên sheet này bạn chỉ giúp mình cách thêm mã vật tư , mã sản phẩm bạn cho mình 100 dòng, nhưng cho thêm mình có nút filter xổ xuống và chọn căn cứ từ bên sheet định mức thay vì phải coppy mã sp qua ,phần vật tư nguyên liệu kèm theo cho sản phẩm cũng rất nhiều mã sử dụng cho sản phẩm mình mới chỉ liệt kê tượng trưng thôi,các bạn giúp mình nhé .
cảm ơn tất cả các bạn đã chia xẻ
Bây giờ mình mới biết khi tham gia diễn đàn đúng là không có gì không làm được rất vui được học hỏi từ các bạn,mong rằng những trang web hữu ích này luôn phát huy tốt và hiệu qủa, để Share cho nhau những kiến thức hữu ích , cám ơn đến các anh chị BQT của websize này chúc sức khỏe đến tất cả các thành viên
 
Theo mình thì bố trí dữ liệu logic thì mới tổng hợp bằng công thức được
Mình tạm sửa file của bạn để giải quyết vấn đề.
Nễu có gì chưa ổn thì post tiếp nha
Mở Sheet NVLCanNhap thay đổi số lượng sãn xuất trong G7;H7;I7
Bạn test lại nha
Làm sơ sơ cho bạn ngâm cứu
Không biết giúp được gì không ?
Cám ơn bạn Tống Văn Đệ đa giúp mình phần công thức cách của bạn đưa ra đã đúng theo ý mình, mình chỉ còn băn khoăn khi mỗi lần sản xuất việc tìm kiếm sản phẩm để gõ số lượng trên 300 cột thì chắc cũng lâu,bạn giúp mình tìm bằng cách nào nhanh nhất làm phiền bạn nhé mình gà về excel lắm ,cảm ơn bạn nhiều
 
bạn SA_DQ: làm phiền bạn giúp mình bên sheet THop theo phương án nào hiệu qủa và đỡ mất thời gian của bạn và bên sheet này bạn chỉ giúp mình cách thêm mã vật tư , mã sản phẩm bạn cho mình 100 dòng, nhưng cho thêm mình có nút filter xổ xuống và chọn căn cứ từ bên sheet định mức thay vì phải coppy mã sp qua ,phần vật tư nguyên liệu kèm theo cho sản phẩm cũng rất nhiều mã sử dụng cho sản phẩm mình mới chỉ liệt kê tượng trưng thôi,các bạn giúp mình nhé .
cảm ơn tất cả các bạn đã chia xẻ

Bạn xem thêm trong file & cho ý kiến về những điểm chưa thỏa nha;

Cái này để thay cho hàm LOOKUP()

PHP:
Option Explicit
Const Dong As Integer = 324

Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, Range("F2:F" & Dong)) Is Nothing Then
   Dim Sh As Worksheet, Rng As Range
   
   Set Sh = Sheets("DinhMuc"):      Set Rng = Sh.Range(Sh.[A4], Sh.[A65500].End(xlUp))
   Target.Offset(, 1).Value = Rng.Find(Target.Value, , xlFormulas, xlWhole).Offset(, 1).Value
 End If
End Sub
 
Lần chỉnh sửa cuối:
Thành thật xin lỗi bạn, vì file đưa lên còn lỗi nặng: Chưa xóa dữ liệu cũ

PHP:
Sub TongHopVT()
 Dim Sh As Worksheet, Rng As Range, sRng As Range, Cls As Range
 Dim Cot As Byte
    
 Set Sh = Sheets("DinhMuc")
 Set Rng = Sh.Range(Sh.[A4], Sh.[A5].End(xlDown))
 Rng.Offset(, 2).Value = ""               '<=|'
 For Each Cls In Range([f2], Cells(Dong, "F").End(xlUp))
1 'Tìm Mã Hàng Tai Trang DinhMuc & Gán Só Luong:'
   Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole)
   If sRng Is Nothing Then
      Exit For
   Else
      sRng.Offset(, 2).Value = Cls.Offset(, 2).Value
   End If
 Next Cls
2 ' Tìm Só Luong Tai DinhMuc & Gán:'
 Set Rng = Sh.Range(Sh.[D3], Sh.[iV3].End(xlToLeft))
 For Each Cls In Range([B2], [B2].End(xlDown))
   Set sRng = Rng.Find(Cls.Value)
   If Not sRng Is Nothing Then
      Cot = sRng.Column + 1
      Cls.Offset(, 1).Value = Sh.Cells(Dong, Cot).Value
   End If
 Next Cls
End Sub
 

File đính kèm

  • GPE.rar
    46.8 KB · Đọc: 23
Ghép chữ trong excel ?

Em chào các anh, chị trên diễn đàn GPE
Em có trường hợp phải ghép chữ thế này muốn nhờ các anh các chị giúp đỡ
Em xin trân thành cảm ơn ạ.
 

File đính kèm

  • Ghep chu.xls
    16 KB · Đọc: 4
Cám ơn bạn,trường hợp mình tăng mã vật tư bên sheet THop thì làm cách nào bạn hường dẫn giúp mình với ,và chỉ cho mình giới hạn vùng nào từ dâu đến đâu thì không được chèn dòng & cột mình không biết gì về macro giúp mình nhé Tks
PHP:
Sub TongHopVT()
 Dim Sh As Worksheet, Rng As Range, sRng As Range, Cls As Range
 Dim Cot As Byte
    
 Set Sh = Sheets("DinhMuc")
 Set Rng = Sh.Range(Sh.[A4], Sh.[A5].End(xlDown))
 Rng.Offset(, 2).Value = ""               '<=|'
 For Each Cls In Range([f2], Cells(Dong, "F").End(xlUp))
1 'Tìm Mã Hàng Tai Trang DinhMuc & Gán Só Luong:'
   Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole)
   If sRng Is Nothing Then
      Exit For
   Else
      sRng.Offset(, 2).Value = Cls.Offset(, 2).Value
   End If
 Next Cls
2 ' Tìm Só Luong Tai DinhMuc & Gán:'
 Set Rng = Sh.Range(Sh.[D3], Sh.[iV3].End(xlToLeft))
 For Each Cls In Range([B2], [B2].End(xlDown))
   Set sRng = Rng.Find(Cls.Value)
   If Not sRng Is Nothing Then
      Cot = sRng.Column + 1
      Cls.Offset(, 1).Value = Sh.Cells(Dong, Cot).Value
   End If
 Next Cls
End Sub
 
ta nói theo file tại #26 nha:

Trường hợp mình tăng mã vật tư bên sheet THop thì làm cách nào bạn hường dẫn giúp mình với ,và chỉ cho mình giới hạn vùng nào từ dâu đến đâu thì không được chèn dòng & cột mình không biết gì về macro giúp mình nhé Tks

Trong file bạn sẽ fải thấy vùng tô màu lam tại cột 'F' của trang 'TongHop'
Đó là vùng để bạn chọn mã VT; & Sau khi chọn xong thì ô bên fải liền kề sẽ có tên vật tư của mã bạn đã chọn. Hiện tại ô cuối cùng của cột có chứa Validation lít là [F67]; Bạn muốn tăng ố ô sơn màu có chứa validation là chuyện hoàn toàn thuộc về excel của bạn. (Chắc chuyện này bạn đã rành không thua kém gì mình đâu!)

Như vậy muốn thêm mới danh mục vật tư ta fải & chỉ fải thêm bên trang DinhMuc
Ở trang này chúng ta có gán 1 name tên là MaSF; Mà dòng cuối đang chỉ là 109; Nếu số mã vượt dòng này thì bạn fải sửa lại chỉ số trong ngăn Refers to của tên này.

Chuyện này của những năm sau, nhưng cũng nêu lên để bạn ghi nhận & đỡ lúng túng cho những lần sảy ra sự kiện; Đó là con số Const =324.
Con số này là 2 ta tự thỏa thuận & ngầm hiểu là mức tối đa các mã vật tư khi sắp đến gần. Đó là dòng tính tổng các loại vật tư trong 'DinhMuc'

Đến lúc ấy bạn thừa khả năng thay đổi những thông số này do sự fát triển CSDL của bạn.

Trở lại vấn đề thêm danh mục vật tư: Bạn fải điền đủ các số liệu định mức của nó (Chắc nhắc chuyện này với bạn như là thừa!)
Bạn hãy thử hết các trường hợp mình nêu, để iên tâm khi vận hành workbook với macro mình gởi tặng 1 cách suông sẻ nhất.

Thân ái!.
 
Lần chỉnh sửa cuối:
Cám Ơn Bạn SA_DQ bạn cho mình hỏi thêm ,nếu tăng phần mã nguyên vật liệu kèm theo sản phẩm bên sheet định mức thì công thức phải sửa ở đâu ,vì sẽ có trường hợp sản phẩm có cấu trúc khác nhau nên sẽ có những vật tư kèm theo khác nhau ,mình vừa tăng 1 mã mới (vật tư ) nhưng bên sheet THop không chạy kết qua, phiền bạn giúp nốt cho mình nhé ,Tks
 
Đặt tên mã Sản phẩm theo từng nhóm rồi group lại
Cái này mình nghĩ bạn biết làm mà
Hoặc làm vài cái nút để Hide bớt column không có dữ liệu đi
chỉ để lại công thức dòng trên cùng
Còn những dòng sau thì paste value cho nhẹ file
 

File đính kèm

  • DuTruNVL.rar
    42.1 KB · Đọc: 39
Cám Ơn Bạn SA_DQ, cho mình hỏi thêm ,nếu tăng phần mã nguyên vật liệu kèm theo sản phẩm bên sheet định mức thì công thức phải sửa ở đâu ,vì sẽ có trường hợp sản phẩm có cấu trúc khác nhau nên sẽ có những vật tư kèm theo khác nhau ,mình vừa tăng 1 mã mới (vật tư ) nhưng bên sheet THop không chạy kết qua, phiền bạn giúp nốt cho mình nhé ,Tks

(1) Điều đầu tiên là nhập vô dòng 3 của trang 'DinhMuc' giống như [BJ3] bây giờ. Việc tất nhiên tiếp theo là cột bên cạnh liền kề (biểu thị số lượng) fải được gán đầy đủ công thức như [BK] hiện hữu.

(2) Bạn chạy macro đã được biếu không trong file:


PHP:
Sub ChepDMVT()
 Dim Cls As Range, Rng As Range
 
 Sheets("DinhMuc").Select
 Set Rng = Range([D3], [iV3].End(xlToLeft))
 For Each Cls In Rng
   If Cls.Value <> "" Then
      With Sheets("TongHop").[B65500].End(xlUp).Offset(1)
         .Value = Cls.Value
      End With
   End If
 Next Cls
End Sub

Khi này bên trang 'THop' sẽ có thêm dòng mà bạn vừa thêm bên trang 'DinhMuc'
À, có 1 điều cần lưu í là tác giả macro chưa cho xóa các loại vật tư do chạy macro lần trước mà có. tại cột 'B' trang 'THop'. Vậy bạn chịu khó trước khi chạy macro bạn cắt chúng & chép đến nơi nào trống trãi (Tiện đối chiếu sau khi chạy macro thôi; Những lần sau có thể xóa luôn cũng OK)

Những mong bạn sẽ thành thục với CSDL thân thương của mình khi vận hành!
 
Bạn SA_DQ ơi File macro biếu không đó chỉ cach cho minh chạy đi thường thì mình phải vào Tools > macro> chepDMVT > run cũng chạy ra kết qủa nhưng như vậy có đúng cách không ah , tks
 
Mình sẽ hướng dẫn bạn cách tiện dụng nhất: Gán tổ hợp fím cho 1 macro, như sau

Vô menu Tool => Macro; 1 CS (cửa sổ) con hiện bên cạnh menu, ta chọn Macro. . . trong CS đó; Trong khung CS vừa xuất hiện sẽ có ten macro ChepDMVT, ta chọn nó.

Sau đó trong dòng Option. . . được bấm sẽ xuất hiện CS khác có tên là Macro Option. (Nếu con trỏ chuột đang nháy trong ngăn Shortcut Key ta giữ fím {SHIFT} đồng thời bấm fím chữ cái nào bạn muốn (như C chẳng hạn). Sau cùng là bấm OK & đóng CS này lại.

Như vậy là ta đã gán xong tổ hợp {CTRL}+{SHIFT}+C cho macro này.

Lúc nào muốn chạy nó thì dùng ngón chân hay ngón tay giữ 2 fím CTRL & SHIFT đồng thời & bấm thêm C là macro chạy thôi.

Các cách khác bạn chịu khó tìm trên diễn đàn, như chạy từ nút lệnh trên trang tính, từ biểu tượng gắn thêm trên thanh menu,. . .

Chúc thành công, nha.
 
cám ơn bạn đã chỉ tận tình ,chúc bạn có thật nhiều sức khỏe và luôn ủng hộ các thành viên "gà" như mình
 
Ban ơi mình đã hòan thành file bạn làm giúp mình rồi nhưng khi ở máy của mình thì chạy được còn chuyển qua 3 máy khác thi mở được file ra gõ số liệu vào thì nhấn tổng hợp số liệu kg chạy và báo lỗi giúp mình với mình đang cần , cảm ơn nhiều
 
Ban ơi;nhưng khi ở máy của mình thì chạy được còn chuyển qua 3 máy khác thi mở được file ra gõ số liệu vào thì nhấn tổng hợp số liệu kg chạy và báo lỗi giúp mình với mình đang cần , cảm ơn nhiều

Có thể như vầy:

(*) Máy của họ có chương trình diệt virus & nó chén tái con macro của bạn rối;

(*) Fải áp mức bảo mật macro ở 1 trong 2 mức dưới; Hai mức trên la không xong đâu.
Về điểm này, bạn nên vô manu Tool => Macro => Macro. . . & tìm hiểu kỷ thêm về chức năng có trong cửa sổ này
 
cám ơn bạn mình làm được rồi hiiii, chúc bạn sức khỏe
 
Ban ơi mình đã thêm mới vô cột sản phẩm và thêm mới mã vật tư nhưng số liệu không chạy xin hướng dẫn mình cụ thể ,xin cảm ơn bạn nhiều
Đặt tên mã Sản phẩm theo từng nhóm rồi group lại
Cái này mình nghĩ bạn biết làm mà
Hoặc làm vài cái nút để Hide bớt column không có dữ liệu đi
chỉ để lại công thức dòng trên cùng
Còn những dòng sau thì paste value cho nhẹ file
 
Theo hướng dẫn trong file kèm
Cần trợ giúp thêm thì mail
tongvande@yahoo.com
Hạn chế của 2003 có 256 cột
Nếu bạn xài 2003 thì 300 mặt hang không đủ
Chờ sửa lai file attach
 

File đính kèm

  • Desktop.rar
    70.1 KB · Đọc: 23
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom