Giúp lọc và trích xuất dữ liệu từ 2 sheet Nhập/Xuất sang sheet Tổng Kết

Liên hệ QC

gatorade

Thành viên mới
Tham gia
8/10/10
Bài viết
8
Được thích
0
Sếp giao cho mình viết 1 file Excel để quản lý hàng hoá của công ty. Cái này giống như ghi sổ cái kế toán. Nôm na như sau:
File có 4 sheet: Danh bạ sản phẩm, Nhập, Xuất Nội bộ, Xuất Đại Lý, Tổng Kết
Danh bạ sẽ có Tên model, Miêu tả SP, Loại, Thương hiệu. Các sheet Nhập, Xuất Nội bộ, Xuất Đại Lý, Tổng Kết đều lấy dữ liệu về model từ sheet Danh bạ (Mình đã làm đc với hàm Vlookup). Khi nhập dữ liệu vào sheet Nhập, Xuất thì nhập theo thứ tự ngày tháng, mỗi model SP đc 1 dòng cho ngày được nhập/xuất đó. Một ngày có thể nhập nhiều model khác nhau, và một model có thể được nhập/xuất trong nhiều ngày khác nhau.
Sếp mình yêu cầu là: Ở Sheet Tổng kết, Ẽxel phải tự động lọc ra và sắp xếp các model đã có biến động xuất/nhập trong tháng (theo ưu tiên Alphabe là Thương hiệu sản phẩm đó: Ví dụ: LG, Samsung, sony, Panasonic,...) và Tính tổng nhập/xuất model đó trong tháng, đồng thời tính được lượng hàng Tồn cuối kì của sản phẩm đó = Tồn đầu kì + Nhập - Xuất nội bộ - Xuất đại lý.

Mong các cao thủ Excel giúp đỡ ạ
 

File đính kèm

  • Kiem soat xuat nhap kho.rar
    131.1 KB · Đọc: 218
Lần chỉnh sửa cuối:
Mình đã xem, nhưng hình như chưa hoàn chỉnh phải không bạn, nếu xuất ra báo cáo mà bên sheet tổng hợp chưa lập công thức
 
Bạn này đưa bài cùng nội dung lên 2 nơi là fạm quy đó nha

PHP:
Option Explicit

Sub TongKet()
 Dim Sh As Worksheet, Rng As Range, Cls As Range, sRng As Range
 Dim ShN As String, MyAdd As String
 Dim eRw As Long, CotD As Byte, CotN As Byte
 
 Sheets("TongKet").Select:         Columns("AF:AJ").ClearContents
1 ' Lap Danh Sách Duy Nhát:'
 [AF1].Resize(, 4).Value = [B3].Resize(, 4).Value
 For Each Sh In Worksheets
   ShN = Sh.Name
   If ShN <> "TongKet" Then
      eRw = Sh.Cells.Find(What:="*", After:=Sh.[A1], SearchOrder:=xlByRows, _
           SearchDirection:=xlPrevious).Row
      MyAdd = Switch(ShN = "DanhBa", "B4", ShN = "Nhap", "F4", _
         ShN = "XuatNB", "$H$4", ShN = "XuatDL", "H4")
      Sh.Range(MyAdd).Resize(eRw, 4).Copy Destination:=[AF65500].End(xlUp).Offset(1)
   End If
 Next Sh
 Columns("Af:Al").AdvancedFilter Action:=xlFilterCopy, _
   CopyToRange:=[AA1].Resize(, 4), Unique:=True
 eRw = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, _
   SearchDirection:=xlPrevious).Row
 [b4].Resize(eRw, 4).ClearContents
 [AA1].CurrentRegion.Offset(1).Resize(, 4).Copy Destination:=[B65500].End(xlUp).Offset(1)
2 'Chép Só Lieu Trong Kì:'
 For Each Cls In Range([b4], [B65500].End(xlUp))
   For Each Sh In Worksheets
      ShN = Sh.Name
      If ShN <> "TongKet" And ShN <> "DanhBa" Then
         eRw = Sh.Cells.Find(What:="*", After:=Sh.[A1], SearchOrder:=xlByRows, _
            SearchDirection:=xlPrevious).Row
         MyAdd = IIf(ShN = "Nhap", "F3", "H3")
         CotD = IIf(ShN = "Nhap", 6, 7) - 1
         Set Rng = Sh.Range(MyAdd).Resize(eRw)
         
         Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole)
         If Not sRng Is Nothing Then
            Cls.Offset(, CotD).Value = Cls.Offset(, CotD).Value + sRng.Offset(, 4).Value
            If ShN = "XuatDL" Then _
               Cls.Offset(, 8).Value = sRng.Offset(, 4).Value
         Else
            MsgBox Rng.Address, , Rng.Parent.Name
         End If
      End If
   Next Sh
 Next Cls
End Sub


(Macro này mình đã cài fím nóng); Chú í: Trước khi chạy macro cần xóa số liệu các cột "G-H" & "J" của trang 'TongHop'
 

File đính kèm

  • GPEvt.rar
    22.2 KB · Đọc: 102
Lần chỉnh sửa cuối:
Cảm ơn anh SA_DQ đã giúp gợi ý làm bài, em đã chạy thử file Macro mà anh đưa lên. Nhưng có vẻ như là kết quả trả về ko chính xác. Yêu cầu của đề bài là:. Ở sheet Nhập/Xuất, Mỗi model X khi nhập/xuất được ghi vào 1 line ở cột D (ngày tháng xuất/nhập hàng). => model X có thể đc nhập/xuất trong nhiều ngày khác nhau trong tháng. Ở sheet Tổng hợp, Excel phải tự động tổng hợp và đối chiếu biến động Nhập/Xuất và báo cáo tồn cuối của model X trong tháng đó. E thử làm ví dụ thay đổi số liệu model RV700 của toshiba nhưng macro ko tự động update kết quả.
Anh kiểm tra giúp em với ạ. Hjc, sếp chơi ác quá, bắt thứ 2 phải nộp bài rồi mà mãi ko nghĩ ra cách nào làm được
 

File đính kèm

  • XNT01.rar
    22.9 KB · Đọc: 34
Kết quả trả về không chính xác là do bạn đó chứ

Bạn đưa ra số liệu trơn tuột như thế làm sao ai dám hiểu là số nhập xuất biến đổi hàng ngày trong tháng;

Giờ bạn copy macro này đè lên hoàn toàn macro trên & chạy thử nha!


PHP:
Option Explicit
Sub TongHop()
 Dim Sh As Worksheet, Cls As Range, Rng As Range, sRng As Range
 Dim eRw As Long
 Dim MyAdd As String, ShN As String
 Dim CotD As Byte
 
 Sheets("TongKet").Select
 eRw = [b3].CurrentRegion.Rows.Count
 Union([b5].Resize(eRw, 7), [j5].Resize(eRw)).ClearContents
 
 Sheets("DanhBa").[b3].CurrentRegion.Offset(1, 1).Copy Destination:=[b5]
 For Each Cls In Range([b5], [B65500].End(xlUp))
   For Each Sh In Worksheets
      ShN = Sh.Name
      If ShN <> "DanhBa" And ShN <> "TongKet" Then
         eRw = Sh.Cells.Find(What:="*", After:=Sh.[A1], SearchOrder:=xlByRows, _
           SearchDirection:=xlPrevious).Row
         Set Rng = IIf(ShN = "Nhap", Sh.[F4], Sh.[H4]).Resize(eRw)
         CotD = IIf(ShN = "Nhap", 5, 6)
         
         Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole)
         If Not sRng Is Nothing Then
            MyAdd = sRng.Address
            Do
               With Cls.Offset(, CotD)
                  .Value = .Value + sRng.Offset(, 4).Value
               End With               
               With Cls.Offset(, 8)
                  If ShN = "XuatDL" Then .Value = .Value + sRng.Offset(, 4).Value
               End With               
               Set sRng = Rng.FindNext(sRng)
            Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
         End If
      End If
   Next Sh
 Next Cls
End Sub
 

File đính kèm

  • GPEvt.rar
    24.5 KB · Đọc: 84
Chỉnh sửa lần cuối bởi điều hành viên:
Thực sự cảm ơn bạn Hoàng Yến, đây đúng là cái mình cần. Bạn có thể giúp mình thêm 1 chút này nữa đc ko? Ở sheet tổng kết, có phần [/b]chi tiết xuất hàng, phần Tổng xuất đại lý thì ok, mình muốn thêm phần lọc tính tổng xuất model X trong tháng cho các đơn vị nội bộ có đc ko? (bạn xem ở file đính kèm nhé). Và thêm nữa, nếu mình biến dữ liệu phần thông tin model thành Table để tiện việc sắp xếp thì ko biết macro có bị lỗi ko?
 

File đính kèm

  • XNT01.rar
    21.9 KB · Đọc: 31
Lần chỉnh sửa cuối:
(3) Thực sự cảm ơn bạn Hoàng Yến, đây đúng là cái mình cần.
Bạn có thể giúp mình thêm 1 chút này nữa đc ko? (1) Ở sheet tổng kết, có phần [/b]chi tiết xuất hàng, phần Tổng xuất đại lý thì ok, mình muốn thêm phần lọc tính tổng xuất model X trong tháng cho các đơn vị nội bộ có đc ko? (bạn xem ở file đính kèm nhé). (2) Và thêm nữa, nếu mình biến dữ liệu phần thông tin model thành Table để tiện việc sắp xếp thì ko biết macro có bị lỗi ko?


(1) Vậy ở chổ các dấu hỏi sẽ là cái chi rứa, bạn cần fải nêu rõ hơn iêu cầu

(2) Thì bạn cứ thử & cho biết các sai lệch không mong nuốn mà bạn đã thấy & cần chỉnh sửa hay tu bổ. Tóm lại, đang là fần thí nghiệm nên chỉnh sửa thoải mái mà!
Cũng tiên đây cho hỏi luôn; Sau đó bạn cần chép cột tồn bên 'TongKet' sang 'DanhBa' không vậy, 1 cách tự động í?

(3) /-(ãy đến chổ ni:
http://www.giaiphapexcel.com/forum/showthread.php?39583-Chị-Phan-Tu-Huong!!!/page2

(4) Chờ tin bạn, nhưng hôm nay mình fải tennis & lỡ ra có người rũ nhậu nữa không chừng; Chủ nhựt mà!
 
(1) Vậy ở chổ các dấu hỏi sẽ là cái chi rứa, bạn cần fải nêu rõ hơn iêu cầu

(2) Thì bạn cứ thử & cho biết các sai lệch không mong nuốn mà bạn đã thấy & cần chỉnh sửa hay tu bổ. Tóm lại, đang là fần thí nghiệm nên chỉnh sửa thoải mái mà!
Cũng tiên đây cho hỏi luôn; Sau đó bạn cần chép cột tồn bên 'TongKet' sang 'DanhBa' không vậy, 1 cách tự động í?

(3) /-(ãy đến chổ ni:
http://www.giaiphapexcel.com/forum/showthread.php?39583-Chị-Phan-Tu-Huong!!!/page2

(4) Chờ tin bạn, nhưng hôm nay mình fải tennis & lỡ ra có người rũ nhậu nữa không chừng; Chủ nhựt mà!

Xin cảm ơn bạn 1 lần nữa đã quan tâm đến chủ đề của mình và tận tình giúp đỡ.

(1) các ô nhỏ có dấu ? nằm dưới row to Xuất chi tiết phía trên là mình muốn Excel tự điền tên các đơn vị nội bộ trong công ty đã được xuất hàng đến (Ví dụ: Hồ Sen, 58 Trần phú, quán toan, Tôn đức thắng) và tính tổng model X đã đc xuất đến ở mỗi cột tương ứng

(2) DanhBa là nơi chứa thông tin tất cả sản phẩm hiện có ở công ty. ở phần danh bạ sẽ có phần tồn kì trước cho mỗi model sản phầm (người quản lý tự nhập). Khi Excel nhận thấy có sự biến động xuất nhập của model X trong Danhba, thì nó sẽ tự động copy tồn kì trước của model X sang Tồn kì trước của model đó ở bên TongKet (chỉ các model có biến động nhập xuất thôi nhé, còn các model ko có biến động gì thì ko cần nhắc đến trong TongKet.

Chúc bạn có ngày CN vui vẻ cùng gia đình và bạn bè
 
Lần chỉnh sửa cuối:
PHP:
Option Explicit
Sub TongHop()
 Dim Sh As Worksheet, Cls As Range, Rng As Range, sRng As Range
 Dim Clls As Range, Trg As Range, nRg As Range
 Dim eRw As Long:                   Dim DaCo As Boolean
 Dim MyAdd As String, ShN As String
 Dim CotD As Byte, Col As Byte
 
 Sheets("TongKet").Select
 eRw = [b3].CurrentRegion.Rows.Count
 Union([b5].Resize(eRw, 7), [j5].Resize(eRw), [K4].Resize(eRw, 230)).ClearContents
 
 Sheets("DanhBa").[b3].CurrentRegion.Offset(1, 1).Copy Destination:=[b5]
 For Each Cls In Range([b5], [B65500].End(xlUp))
   For Each Sh In Worksheets
      ShN = Sh.Name
      If ShN <> "DanhBa" And ShN <> "TongKet" Then
         eRw = Sh.Cells.Find(What:="*", After:=Sh.[A1], SearchOrder:=xlByRows, _
           SearchDirection:=xlPrevious).Row
         Set Rng = IIf(ShN = "Nhap", Sh.[F4], Sh.[H4]).Resize(eRw)
         CotD = IIf(ShN = "Nhap", 5, 6)
         
         Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole)
         If Not sRng Is Nothing Then
            MyAdd = sRng.Address
            Do
               With Cls.Offset(, CotD)
                  .Value = .Value + sRng.Offset(, 4).Value
               End With
'  *     *     *     *  *'
               If ShN = "XuatNB" Then
                  Set Trg = Range([K4], [iv4].End(xlToLeft))
                  For Each Clls In Trg
                     If Clls.Value = sRng.Offset(, -1).Value Then
                        With Cells(Cls.Row, Clls.Column)
                           .Value = .Value + sRng.Offset(, 4).Value
                        End With
                        DaCo = True:               Exit For
                     End If
                  Next Clls
                  If DaCo Then
                     DaCo = Not DaCo
                  Else
                     Set nRg = [iv4].End(xlToLeft).Offset(, 1)
                     nRg.Value = sRng.Offset(, -1).Value
                     Cells(Cls.Row, nRg.Column).Value = sRng.Offset(, 4).Value
                  End If
               End If
'  *     *     *     *  *'
               With Cls.Offset(, 8)
                  If ShN = "XuatDL" Then .Value = .Value + sRng.Offset(, 4).Value
               End With
               Set sRng = Rng.FindNext(sRng)
            Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
         End If
      End If
   Next Sh
 Next Cls
End Sub
Còn câu 2 hình như là xóa các dòng mà các cột [Tồn đầu kì] & [Tồn cuói kì] bằng nhau thì fải;
Nếu bạn khẳng định điều này, thì sẽ giống như xóa dòng với điều kiện vậy mà thôi; Không khó lắm ru!

& như vậy là mình gởi bạn món quà muộn để ngày đầu tuần bạn có cái để trình cho sếp của bạn rồi nha.

Thân ái & chúc tuần làm việc vui vẻ!
 

File đính kèm

  • GPEvt.rar
    26.2 KB · Đọc: 88
Chỉnh sửa lần cuối bởi điều hành viên:
Thật sự cảm ơn bạn HYen, Sếp mình rất hài lòng với chương trình Ẽxcel của bạn giúp mình. Bây h sếp lại yêu cầu 1 chút thay đổi sau:

(1) Vì cty mình xuất đi rất nhiều đại lý khác nhau nên Sếp quyết định: ở Sheet XuatDL: bỏ cột Tên Đại lý mà chỉ cần ghi chú ở cột ngoài cùng là xuất đi Đại lý nào thôi (người quản lý tự nhập ghi chú). Như vậy cột tên Model di chuyển từ cột 8 sang cột 6. Mình thử thay đổi VBA trong code của bạn ở phần XuatDL chuyển colum thành 6 nhưng khi chạy Macro, Phần xuất đại lý mất hẳn. Lại phiền bạn giúp mình việc này với :(

(2) Sếp đồng ý với ý kiến của bạn: copy toàn bộ Tồn kì trước của sản phẩm X ở Sheet DanhBa sang tồn đầu kì ở sheet TongKet để tiện việc theo dõi toàn bộ hàng trong kho.

(3) Ko biết bạn có thể cho mình xin nick chat hoặc email đc ko để tiện việc học hỏi sau này :)

Chúc bạn 1 tuần mới vui vẻ và làm việc hiệu quả
 

File đính kèm

  • Quan ly xuat nhap ton kho.rar
    25.3 KB · Đọc: 65
Lần chỉnh sửa cuối:
Thật sự Sếp mình rất hài lòng với chương trình Ẽxcel của bạn giúp mình.
(1) Vì cty mình xuất đi rất nhiều đại lý khác nhau nên Sếp quyết định: ở Sheet XuatDL: bỏ cột Tên Đại lý mà chỉ cần ghi chú ở cột ngoài cùng là xuất đi Đại lý nào thôi (người quản lý tự nhập ghi chú). Như vậy cột tên Model di chuyển từ cột 8 sang cột 6. Mình thử thay đổi VBA trong code của bạn ở phần XuatDL chuyển colum thành 6 nhưng khi chạy Macro, Phần xuất đại lý mất hẳn. Lại phiền bạn giúp mình việc này với :(

(3) Ko biết bạn có thể cho mình xin nick chat hoặc email đc ko để tiện việc học hỏi sau này :)

Chúc bạn 1 tuần mới vui vẻ và làm việc hiệu quả

(1) Bạn đã đổi cả cầu trúc của trang tính thì muốn sửa là fải sửa nhiều chổ khác nữa; chú đầu có thể sửa 1 con số cột trang tính đó là được;

Thí dụ: bạn fải ngâm cứu nhuần nhuyễn dòng lệnh này:

PHP:
         Set Rng = IIf(ShN = "Nhap", Sh.[F4], Sh.[H4]).Resize(eRw)

(2) Để bảo trì, sửa đổi macro fục vụ cho sự đổi thay sau này, bạn nên dịch hết các dòng lệnh sang tiếng Việt;
Điều này còn đòi hỏi bạn fải bắt đầu nghiêm cứu & nâng cao kiến thức VBA của mình; Ngược lại, bạn sẽ fụ thuộc hoàn toàn vào GPE.COM

(3) Bạn nói rõ hơn chút xem: Giờ bạn & ông/bà Sếp của bạn muốn cột 'J' của 'TongKet' sẽ là gì hay ẩn nó đi do không cho số liệu chi vô đó nữa?

Tệ hơn, nếu muốn thay cấu trúc của 'XuatDL' cũng nêu lại cho rõ hơn giúp cái nha!

(4) Chúng ta liên hệ nhau qua tin nhắn diễn đàn là OK rồi; Nhưng nói trước ít khi mình xem hộp thư lắm, kể cả Yahoo chart ; Mỗi người, mỗi lúc có 1 thói quen tùy biến mà! . . . .


Thân ái & khi nào Sếp thưởng thì nhớ tới mình cái nha! Khà, khà,. . . .
 
(1) Bạn đã đổi cả cầu trúc của trang tính thì muốn sửa là fải sửa nhiều chổ khác nữa; chú đầu có thể sửa 1 con số cột trang tính đó là được;

Thí dụ: bạn fải ngâm cứu nhuần nhuyễn dòng lệnh này:

PHP:
         Set Rng = IIf(ShN = "Nhap", Sh.[F4], Sh.[H4]).Resize(eRw)

(2) Để bảo trì, sửa đổi macro fục vụ cho sự đổi thay sau này, bạn nên dịch hết các dòng lệnh sang tiếng Việt;
Điều này còn đòi hỏi bạn fải bắt đầu nghiêm cứu & nâng cao kiến thức VBA của mình; Ngược lại, bạn sẽ fụ thuộc hoàn toàn vào GPE.COM

(3) Bạn nói rõ hơn chút xem: Giờ bạn & ông/bà Sếp của bạn muốn cột 'J' của 'TongKet' sẽ là gì hay ẩn nó đi do không cho số liệu chi vô đó nữa?

Tệ hơn, nếu muốn thay cấu trúc của 'XuatDL' cũng nêu lại cho rõ hơn giúp cái nha!

(4) Chúng ta liên hệ nhau qua tin nhắn diễn đàn là OK rồi; Nhưng nói trước ít khi mình xem hộp thư lắm, kể cả Yahoo chart ; Mỗi người, mỗi lúc có 1 thói quen tùy biến mà! . . . .


Thân ái & khi nào Sếp thưởng thì nhớ tới mình cái nha! Khà, khà,. . . .

Tất nhiên là ở sheet TongKet vẫn phải có cột tính tổng Xuat đại lý chứ. Như bạn xem file đính kèm ở post trước của mình, đúng là cấu trúc của sheet XuatDL bị thay đổi. Mình đã bỏ hẳn 2 cột Mã ĐL và Tên Đại lý trong sheet XuatDL và sát nhập tên model từ cột H sang cột G => ở sheet TổngKết, cột "Xuất đại lý" ko cho két quả. Cảm phiền bạn sửa lại giúp mình lần nữa vậy.

Cảm ơn sự giúp đỡ nhiệt tình của bạn, nếu ko có bạn và mọi người trên GPE thực sự mình ko thể nào làm đc việc này. Mình sẽ cố gắng học hỏi và nghiên cứu thêm về cấu trúc VBA. Rất mong một ngày nào đó sẽ có cơ hội gặp gỡ giao lưu và học hỏi mọi người ở ngoài đời thực
 
Lần sau, trước khi bỏ hẵn cột nào đó ta ẩn nó đi & thử trước nha

Còn giờ, bạn copy tất tần tật cái i đè lên CSDL của bài chưa CSDL cuối cùng của bạn:

PHP:
Option Explicit
Sub TongHop()
 Dim Sh As Worksheet, Cls As Range, Rng As Range, sRng As Range
 Dim Clls As Range, Trg As Range, nRg As Range
 Dim eRw As Long:                   Dim DaCo As Boolean
 Dim MyAdd As String, ShN As String
 Dim CotD As Byte, Col As Byte
 
 Sheets("TongKet").Select
 eRw = [b3].CurrentRegion.Rows.Count
 Union([b5].Resize(eRw, 7), [j5].Resize(eRw), [K4].Resize(eRw, 230)).ClearContents
 
 Sheets("DanhBa").[b3].CurrentRegion.Offset(1, 1).Copy Destination:=[b5]
 For Each Cls In Range([b5], [B65500].End(xlUp))
   For Each Sh In Worksheets
      ShN = Sh.Name
      If ShN <> "DanhBa" And ShN <> "TongKet" Then
         eRw = Sh.Cells.Find(What:="*", After:=Sh.[A1], SearchOrder:=xlByRows, _
            SearchDirection:=xlPrevious).Row
'         Set Rng = IIf(ShN = "Nhap", Sh.[F4], Sh.[H4]).Resize(eRw)'
         Set Rng = IIf(ShN = "XuatNB", Sh.[H4], Sh.[F4]).Resize(eRw)  '<=|'
         CotD = IIf(ShN = "Nhap", 5, 6)
         Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole)
         If Not sRng Is Nothing Then
            MyAdd = sRng.Address
            Do
               With Cls.Offset(, CotD)
                  .Value = .Value + sRng.Offset(, 4).Value
               End With
'  *     *     *     *  *'
               If ShN = "XuatNB" Then
                  Set Trg = Range([K4], [iv4].End(xlToLeft))
                  For Each Clls In Trg
                     If Clls.Value = sRng.Offset(, -1).Value Then
                        With Cells(Cls.Row, Clls.Column)
                           .Value = .Value + sRng.Offset(, 4).Value
                        End With
                        DaCo = True:               Exit For
                     End If
                  Next Clls
                  If DaCo Then
                     DaCo = Not DaCo
                  Else
                     Set nRg = [iv4].End(xlToLeft).Offset(, 1)
                     nRg.Value = sRng.Offset(, -1).Value
                     Cells(Cls.Row, nRg.Column).Value = sRng.Offset(, 4).Value
                  End If
               End If
'  *     *     *     *  *'
               With Cls.Offset(, 8)
                  If ShN = "XuatDL" Then .Value = .Value + sRng.Offset(, 4).Value
               End With
               Set sRng = Rng.FindNext(sRng)
            Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
         End If
      End If
   Next Sh
 Next Cls
End Sub
 
Xin chân thành cảm ơn bạn một lần nữa. Bạn đã làm giúp mình gần như tất cả công việc mà mình phải làm. Sếp mình rất hài lòng với chương trình quản lý Xuất nhập kho này.
Mình vô cùng cảm ơn HYen và diễn đàn GPE, đến với diễn đàn, gặp gỡ mọi người mình mới thấy mình thật nhỏ bé, thế giới Excel mới rộng lớn làm sao, hoá ra trước giờ mình mới chỉ toàn làm những việc vô cùng đơn giản so với khả năng của bộ công cụ Excel.

Macro trong Excel thật hay và tài tình. Mình sẽ cố gắng học hỏi thêm nhiều nữa về sử dụng VBA trong Excel
 
Cho mình hỏi mình có 1 bảng excel co các sheet của KH để xuất hàng, giờ mình muốn tạo một bảng xuất nhập tồn để theo dõi kho, nhưng mình không biết phải làm sao để khi minh xuất hàng cho KH thì ở bảng Nhập Xuất tồn sẽ tự động trừ đi số lượng đã xuất. Cả nhà giúp mình với, vì mới đi làm nên mình không biết nhiều mong cả nhà giúp đỡ
 
Nếu bạn gặp khó trong chuyện đưa file lên, hãy dùng chức năng [Table ]. . . [/table]

để mô tả 2 trang tính đó giúp cái nha; Tôi thí dụ đây:

Trang XNTon
Ngày|N/X|Mã hàng|SoLuong|Ton|GhiChu
2/30|N|JK540|100|121|từ GPE.COM
2/31|X|EM014|35|86|PX Aa
|X|.| . . ||. . .
Trang HoaDon
Ngày|12/4/2010|Loại CT|N||
Người CT|A025J|Mã Hàng |K012x|So lượng| 24

Có vậy bạn sẽ nhanh chóng & chính xác nhận được sự trợ giúp mà bạn đang muốn.

Chúc vui!
 
Web KT
Back
Top Bottom