Excel quản lý bán hàng

Thảo luận trong 'Excel và Kế Toán' bắt đầu bởi khuctinhsy, 20 Tháng chín 2011.

  1. khuctinhsy

    khuctinhsy New Member

    Giúp mình thiết kế thêm phần tồn với. thank nhiều.

    Thank các bạn đã giúp đỡ, sau một thời gian mình đã hoàn thiện và nhập sản phẩm. nói chung mọi thứ là ok! mình xin đc share lại file này vì mình thấy nó sẽ có ích với rất nhiều người.
    Có bạn nào rành về combobox giúp mình add vào 2 sheep nhap và xuat với, vì nếu nhiều mã hàng thì hơi khó nhớ.

    Download
    password: thanhkhoan.com
     

    Các file đính kèm:

    Lần chỉnh sửa cuối: 2 Tháng hai 2012
  2. usagi90

    usagi90 Well-Known Member

    ùi té ra là lập trình VBA hả..hix hix..MÌnh không hiểu cái này. Nếu làm trên excel và dùng công thức excel. mình sẽ giúp bạn được hì,,,mà thực ra cái phần quản lý này của bạn đơn giản không cần dùng tới VBA,..dùng công thức excel là đủ...Phần tổng hợp nhập xuất tồn bạn nên làm theo như mình ví dụ cho bạn trong file nhé..hì tiếc là k giúp dc bạn. Nếu bạn muốn minh sẽ giúp bạn làm lại hoàn toàn trên excel. công thức đơn giản mà dễ hiểu. Mình xem fiel rồi cái công thức đơn giá vốn đầu kỳ của bạn ấy quá. dùng hàm if(type(vlookup cho dễ mà ngắn gọn
     
    Lần chỉnh sửa cuối: 20 Tháng chín 2011
  3. HYen17

    HYen17 Thành viên cằn cỗi.

    Đây là macro sau khi sửa lại (tại dòng lệnh mang số 9)

    PHP:
    Option Explicit
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    Dim Sh0 As WorksheetSh As WorksheetRng As RangesRng As RangeCls As Range
     Dim ShName 
    As StringMyAdd As String
     Dim Sj 
    As ByteSoNg As LongJj As LongSoLg As Double
     Dim Dat 
    As Date

     
    If Not Intersect(Target, [F1]) Is Nothing Then
       Set Sh0 
    ThisWorkbook.Worksheets("DM Hang")
       
    Jj Sh0.UsedRange.Rows.Count
       Dat 
    DateSerial(Year(Target.Value), 11)
       
    SoNg Target.Value Dat
       
    [b3].Resize(Jj6).ClearContents
       
    For Each Cls In Sh0.Range(Sh0.[a3], Sh0.[A65500].End(xlUp))
          
    SoLg Cls.Offset(, 3).Value
          
    For Jj 0 To SoNg
             
    For Sj 1 To 2
                ShName 
    Choose(Sj"Nhap""Xuat")
                
    Set Sh ThisWorkbook.Worksheets(ShName)
                
    Set Rng Sh.Range(Sh.[b3], Sh.[B65500].End(xlUp))
                
    Set sRng Rng.Find(Format(Dat Jj"mm/dd/yyyy"), , xlValuesxlWhole)
                If 
    Not sRng Is Nothing Then
                   MyAdd 
    sRng.Address
                   
    Do
                      If 
    Cls.Value sRng.Offset(, 1).Value Then
    9                     SoLg 
    SoLg Choose(Sj1, -1) * sRng.Offset(, Choose(Sj46)).Value   '<=|'
                       
    End If
                      
    Set sRng Rng.FindNext(sRng)
                   
    Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
                End 
    If
             
    Next Sj
          Next Jj
          With Cells
    (Cls.Row"B")
             .
    Resize(, 3).Value Cls.Resize(, 3).Value
             
    .Offset(, 3).Value SoLg
          End With
       Next Cls
     End 
    If
    End Sub

     
  4. zijmkute89

    zijmkute89 New Member

    Bạn ơi! Giúp mình chút với.
    Mình xem file của bạn đăng trên đó, Cái phần bên Nhập và bên xuất khi mình đánh mã hàng nó không tự nhày ra tên hàng haà quy cách ak? Mình có 1 file XNT gần giống dạng của bạn, nhg phần DM hàng của mình bị hỏng nên sang bêN Xn nó hok tự nhảy đc như trc nữa. Bạn có thể giúp mình làm 1 file excel như vậy dc hok
     
  5. khuctinhsy

    khuctinhsy New Member

    Bạn ơi bạn tính lại cho mình với. Ở phần xuất hàng ấy nó thống kê ở cột tồn từng ngày do đó bạn ko thể cộng tổng lại đc mà phải lấy ở ngày cuối cùng, Mình ví dụ: Hộp giấy ăn ở sheep Tồn bị âm 381 hộp.
    àh nhân tiện các bạn giúp mình thiết kế lại phần xuất với trước mình có nhờ một cao thủ làm hộ nhưng mà dùng = công thức mảng nên khi có nhiều hàng hóa mình tham chiếu xuống càng nhiều máy càng hay bị treo.
     
    Lần chỉnh sửa cuối: 20 Tháng chín 2011
  6. khuctinhsy

    khuctinhsy New Member

    Mình không biết sử dụng macro thế nào đâu, các bạn làm xong giúp mình add luôn vào file nha
     
  7. khuctinhsy

    khuctinhsy New Member

    HiHI cái phần nhập xuất mình hay ở chỗ là không cần phải nhớ mã hàng, tên hàng mà chỉ cần đặt chuột vào là nó tham chiếu sang bên sheep DM bạn chỉ cần chọn trong list hồi trc có một người trên GPE thiết kế cho mình bằng combofix gì đó
     
  8. ChanhTQ@

    ChanhTQ@ Thành viên già cỗi.

    Mình đang vội

    Sẽ trao đổi với bạn thêm & đây là file đính kèm

    (Sa_DQ hết dung lượng để đưa file lên rồi!)
     

    Các file đính kèm:

  9. khuctinhsy

    khuctinhsy New Member

    Bạn ơi giúp mình làm lại với. vẫn bị sai ở phần tồn. mình ví dụ như mã LH06 tồn ĐK 9 + nhập 1=10
    xuất 2+3 = 5 --> tồn cuối kỳ = 5 (còn GPeVattu lại tính ra tồn cuối kỳ là -7).

    Còn một vấn đề nữa là phần lãi lỗ thì ở file của mình thiết kế tính cho từng lần bán. các bạn giúp mình tính tổng lãi của tổng số hàng đã bán đến cùng một thời điểm cho từng loại hàng thể hiện trên sheep Tồn đc ko. Mình đính kèm lại file và đã thêm một số chỉ tiêu, các bạn giúp mình với. Mình đang rất cần vì mình mới mở một shop nho nhỏ muốn dựa vào file này để quản lý hàng.

    xin cảm ơn!
     

    Các file đính kèm:

  10. usagi90

    usagi90 Well-Known Member

    trời ơi là trời bạn nghe mình thì có phải dễ dàng không? Mình đã bảo là cái file quản lý của bạn ấy. dùng hoàn toàn bằng excel là đơn giản nhất...Nếu nhất trí mình sẽ giúp bạn thiết kế lại hoàn toàn bằng công thức . Nếu cần thì add nik yahoo mình để tiện trao đổi@$@!^%
     
  11. khuctinhsy

    khuctinhsy New Member

    Bạn giúp mình thiết kế bằng công thức excel với nhưng cai combobox của mình vẫn phải giữ nguyên hihi
     
  12. usagi90

    usagi90 Well-Known Member

    Nếu để cái combox như của bạn ấy thì nxt pải dùng code mới ra. bạn sợ không thể nhớ mã hàng mình sẽ có cách giúp bạn không cần nhớ MH.
     
  13. khuctinhsy

    khuctinhsy New Member

    OK thế thì giúp mình nha. Không cần phải giống như của mình, Quan trọng là quản lý đc hàng tồn kho, quản lý đc thông tin khách hàng, tính lãi lỗ cho từng mặt hàng (bất cứ thời điểm nào cũng tính đc thì tốt). Mình muốn càng đơn giản càng tốt, hàng hóa mình nhập về mình đã tự phân bổ chi phí vào nguyên giá rồi, hàng nhập ở các thời điểm khác nhau nên giá nhập khác nhau, bạn tính giá vốn xuất kho theo PP nào cũng đc, quan trọng là để nó ra lãi lỗ thôi.

    Xin cảm ơn!
     
  14. usagi90

    usagi90 Well-Known Member

    bạn chuyển file qua cho mình
     
  15. usagi90

    usagi90 Well-Known Member

    do k có thời gian làm lại nên mình dựa vào file của bạn và làm lại một số chỗ. Thêm phần theo dõi chi tiết từng vật tư theo khoảng thời gian như bạn nói. Bạn coi file này
     

    Các file đính kèm:

  16. ChanhTQ@

    ChanhTQ@ Thành viên già cỗi.

    Xin lỗi bạn 1 điều là hôm đó quá vội trước khi đi xa nên chỉ mớí chép macro vô file như bạn mong thôi; chưa chạy nó để ra kết quả theo đúng (Vẫn là kết quả của macro trước)

    Bạn thử kích hoạt ô [F1] & bấm chuộc lên thanh công thức & nhấn {ENTER} để có kết quả mới!

    Còn chuyện này: "Còn một vấn đề nữa là phần lãi lỗ thì ở file của mình thiết kế tính cho từng lần bán. các bạn giúp mình tính tổng lãi của tổng số hàng đã bán đến cùng một thời điểm cho từng loại hàng thể hiện trên sheep Tồn đc ko. Mình đính kèm lại file và đã thêm một số chỉ tiêu, các bạn giúp mình với. Mình đang rất cần vì mình mới mở một shop nho nhỏ muốn dựa vào file này để quản lý hàng." sẽ xem thêm;
    Nhưng theo mình thì bạn không nên làm vậy ở trang nào khác, mà tồn vào những ngày cố định trong tháng & quí như ngày cuối tháng & giữa tháng nên chép sang trang 'DM Hang'. Chúng được chép tuần tự thời gian theo sự tăng dần của cột.
    Có nghĩa là cột 'H' từ H3 xuống chép tồn ngày 1/3/2011, thì cột I có thể chứa tồn ngày 15/03/2011 hay 1/4/2011. . . (Tất nhiên tiêu đề của chúng sẽ là ngày chép tồn này).
    Với cấu trúc này, ta có thể xóa bất cứ cột nào giữa các cột tồn một khi thấy không cần thiết để lại nữa.
    Chuyện này mình đã làm cho 1 bạn ở bài nào đó nên tin sẽ làm được & có thể mở rọng ra tính tồn giá vốn hay giá bán luôn
     
    Lần chỉnh sửa cuối: 23 Tháng chín 2011
  17. khuctinhsy

    khuctinhsy New Member

    Ok thank bạn nhiều, Còn phần tính giá vốn, doanh thu và lãi lỗ mình có thể dùng hàm sumif giống của bạn usagi90 cũng đc. Nếu có thời gian bạn giúp mình nghiên cứu tối ưu file này nha, ở bên sheep xuất có dùng công thức mảng nên lúc mình tham chiếu xuống ô tầm 1000 là nó bắt đầu xử lý chậm rồi, nếu máy yếu là treo luôn, Mình muốn thiết kế thêm một sheep danh mục khách hàng, và nhà cung cấp để nếu sau này có mở rộng shop thì dễ quản lý hơn. xin cảm ơn các bạn rất nhiều, trước mắt thế này là ổn rồi.
     
  18. ChanhTQ@

    ChanhTQ@ Thành viên già cỗi.

    Thú thiệt là mình không có tẹo kiến thức nghiệp vụ về vấn đề này & công thức cũng . .

    . . rất hạn chế. Bạn có thể diễn dịch công thức mảng đó bằng lời Việt được không?

    Nếu được mình sẽ diễn dịch lời Việt của công thức đó ra mã VBA cùng bạn

    Chờ tin bạn & thân ái!
     
  19. khuctinhsy

    khuctinhsy New Member

    Giúp mình chèn thêm một cột trước cột mã số ở DM hàng với, mình ko biết dùng marco thế nào nên khi chèn thêm vào thì phần Tồn nó ko tính đc nữa. Cái công thức mảng mình cũng ko biết dịch đâu, lần trc mình post bài lên có người làm cho mình, để mình hỏi lại đã
     
    Lần chỉnh sửa cuối: 23 Tháng chín 2011
  20. SA_DQ

    SA_DQ Thành viên danh dự

    Bạn fải chuột vô thanh SheetName có tên là 'Ton' & chọn dòng dưới cùng của hộp thoại'

    Bạn sẽ được đưa tới CS VBA chứa macro sự kiện của trang tính này & thấy nội dung gần như là:
    PHP:
    Option Explicit
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    Dim Sh0 As WorksheetSh As WorksheetRng As RangesRng As RangeCls As Range
     Dim ShName 
    As StringMyAdd As String
     Dim Sj 
    As ByteSoNg As LongJj As LongSoLg As Double
     Dim Dat 
    As Date

     
    If Not Intersect(Target, [F1]) Is Nothing Then
       Set Sh0 
    ThisWorkbook.Worksheets("DM Hang")
       
    Jj Sh0.UsedRange.Rows.Count
       Dat 
    DateSerial(Year(Target.Value), 11)
       
    SoNg Target.Value Dat
       
    [B3].Resize(Jj6).ClearContents
    7   
    For Each Cls In Sh0.Range(Sh0.[B3], Sh0.[B65500].End(xlUp)) '<=|'
          
    SoLg Cls.Offset(, 3).Value
          
    For Jj 0 To SoNg
             
    For Sj 1 To 2
                ShName 
    Choose(Sj"Nhap""Xuat")
                
    Set Sh ThisWorkbook.Worksheets(ShName)
                
    Set Rng Sh.Range(Sh.[B3], Sh.[B65500].End(xlUp))
                
    Set sRng Rng.Find(Format(Dat Jj"mm/dd/yyyy"), , xlValuesxlWhole)
                If 
    Not sRng Is Nothing Then
                   MyAdd 
    sRng.Address
                   
    Do
                      If 
    Cls.Value sRng.Offset(, 1).Value Then
                         SoLg 
    SoLg Choose(Sj1, -1) * sRng.Offset(, Choose(Sj46)).Value
                       End 
    If
                      
    Set sRng Rng.FindNext(sRng)
                   
    Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
                End 
    If
             
    Next Sj
          Next Jj
          With Cells
    (Cls.Row"B")
             .
    Resize(, 3).Value Cls.Resize(, 3).Value
             
    .Offset(, 3).Value SoLg
          End With
       Next Cls
     End 
    If
    End Sub
    Tại dòng tương ứng với dòng được ghi số (7) ta sửa lại cho chúng giống nhau với cái mới này

    (Đó là bạn thêm 1 cột, thì cột 'A' cũ trở thành cột 'B', vậy thôi & chúc vui!)
     

Chia sẻ trang này