Tạo một button In-Tiếp?? (1 người xem)

Liên hệ QC

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

Võ Thiếu Gia

Thành viên hoạt động
Tham gia
19/7/08
Bài viết
105
Được thích
54
Ở đây, Võ có 1 phiếu xuất kho kiêm hóa đơn. Các pác tại giúp chỉ Võ cách tạo một button mà khi mình xuất xong 1 hóa dơn. Mình Click vô button đó thì sẽ xóa trống toàn hóa đơn để xuất hóa đơn khác. Khi đó số của Hóa đơn sẽ cộng tăng lên 1.

Pác nào help mình với. Với mấy cái Macro Võ cùi lắm. Thanks a lot
Mong các pác giúp Võ với. Võ chưa biết gì về VBA
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:

File đính kèm

Upvote 0
vâng, Như vậy là OK ruì. Nhưng mà mình không biết cách để tạo ra cái Button đó. Ca_dafi giúp chỉ mình tạo ra cái button đó với. Với lại, Khi mình xóa 1 hóa đơn thì có thể lọc và lưu qua Sheet Bảng Tổng được không vậy. Có cần phải tạo thêm 1 row Nhân viên BH hay không
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Các pác chỉ giúp mình cách tạo ra một button như Pác Ca_dafi đã làm. Button "Xóa dữ liệu" đó. Thật sự thì mình không biết cách tạo nó như thế nào. Pác nào chỉ giúp mình với. Với lại mấy cái Macro thì mình mù tịt
 
Upvote 0
Cái nút xóa của anh Ca_dafi là dùng view/toolbars/control toolbox/combobox còn cách khác là bạn dùng view/toolbars/form (dễ sử dụng hơn). Còn một ý nhỏ cho người dùng data/validation là khi chọn cột nên chừa một dòng trống trên đầu để khi lick vào hiện ngày dòng đầu khỏi phải kéo thanh trượt.
Còn lưu lại phiếu xuất thì bạn phải biết VBA khi đó lưu sang sheet khác, quan trọng là chọn dòng cuối cùng
i = range("A65536").end(xlup).row + 1
Về lưu có nhiều file trên diễn đàn lắm bạn có thể tìm hiểu.
 
Upvote 0
Cái nút xóa của anh Ca_dafi là dùng view/toolbars/control toolbox/combobox còn cách khác là bạn dùng view/toolbars/form (dễ sử dụng hơn). Còn một ý nhỏ cho người dùng data/validation là khi chọn cột nên chừa một dòng trống trên đầu để khi lick vào hiện ngày dòng đầu khỏi phải kéo thanh trượt.
Còn lưu lại phiếu xuất thì bạn phải biết VBA khi đó lưu sang sheet khác, quan trọng là chọn dòng cuối cùng

Về lưu có nhiều file trên diễn đàn lắm bạn có thể tìm hiểu.

Vâng, mình cám ơn bạn rất nhiều. Nhưng khi tạo xong command button rùi, mình phải gán cho nó những macro gì để nó thực hiện được ý mình muốn làm. Ví dụ: Mình cho nó IN chẳng hạn. Mình khôngbiết gì về Visua Basic
 
Upvote 0
Upvote 0
Vâng, mình đã sửa chữ ký. Thanks ca_dafi rất nhiều

Chào bạn, ý của mình không phải vậy. Ý mình là bạn lưu ý phần chữ ký ở đường link mình gửi bạn. Đây là đường link tới nick PhanTuHuong, chữ ký của anh này có phần hướng dẫn cho người mới làm quen với VBA.

Còn chữ ký của bạn, bạn có quyền quyết định, mình không có ý kiến gì cả! Vậy bạn nhé!

CHÚC BẠN LUÔN THÀNH CÔNG!


Ps: Xin lỗi bạn nếu có gì làm cho bạn hiểu lầm tại bài số #7 nhé!
 
Upvote 0
Chào bạn, ý của mình không phải vậy. Ý mình là bạn lưu ý phần chữ ký ở đường link mình gửi bạn. Đây là đường link tới nick PhanTuHuong, chữ ký của anh này có phần hướng dẫn cho người mới làm quen với VBA.

Còn chữ ký của bạn, bạn có quyền quyết định, mình không có ý kiến gì cả! Vậy bạn nhé!

CHÚC BẠN LUÔN THÀNH CÔNG!


Ps: Xin lỗi bạn nếu có gì làm cho bạn hiểu lầm tại bài số #7 nhé!

Vâng, không có gì Ca ạ. Mình cũng đang đọc. Hồi sáng mình có nhắn tin cho Ca định hỏi về cái Command Button, nhưng hình như là không nhận được. Thanks Ca rất nhiều.
 
Upvote 0
Mình đang vướng chổ Lọc Hóa đơn, mình không biết phải làm sao. Giúp mình với. Thanks a lot
 

File đính kèm

Upvote 0
Mình đang vướng chổ Lọc Hóa đơn, mình không biết phải làm sao. Giúp mình với. Thanks a lot

Để làm được việc này, trước hết bạn phải nắm được khái niệm về Nhập, Xuất, quản lý và thiết lập cơ sở dữ liệu.

Theo như thiết kế của bạn, không có sheet nào lưu một data (cơ sở dữ liệu chung) Vì như bạn thấy nếu phiếu xuất kiêm hóa đơn chọn khách hàng khác "Chị A - TÂN CHÂU" thì việc chép qua sheet DSố K.Hàng có lẽ là vô lý!

Trước hết bạn nên thiết lập 1 sheet data có các cột như sau:
[Loại Phiếu], [Số HĐ], [Ngày], [Mã Khách],[Địa chỉ],[STT],[Mã Hàng],[Tên Hàng],[ĐVT],[Đơn Giá],[Số Lượng],[Thành Tiền],[ChiếtKhấu],[Thanh Toán],[Tên NVBH],[Tháng]

Nếu bạn đồng ý thì có thể chúng ta sẽ cùng thiết kế file này!
 
Upvote 0
Để làm được việc này, trước hết bạn phải nắm được khái niệm về Nhập, Xuất, quản lý và thiết lập cơ sở dữ liệu.

Theo như thiết kế của bạn, không có sheet nào lưu một data (cơ sở dữ liệu chung) Vì như bạn thấy nếu phiếu xuất kiêm hóa đơn chọn khách hàng khác "Chị A - TÂN CHÂU" thì việc chép qua sheet DSố K.Hàng có lẽ là vô lý!

Trước hết bạn nên thiết lập 1 sheet data có các cột như sau:
[Loại Phiếu], [Số HĐ], [Ngày], [Mã Khách],[Địa chỉ],[STT],[Mã Hàng],[Tên Hàng],[ĐVT],[Đơn Giá],[Số Lượng],[Thành Tiền],[ChiếtKhấu],[Thanh Toán],[Tên NVBH],[Tháng]

Nếu bạn đồng ý thì có thể chúng ta sẽ cùng thiết kế file này!

Vâng, mình đã tạo ra 1 Sheet data trong Sheet DSố K.Hàng theo như yêu cầu của ca_dafi. Giúp mình giải quyết vấn đề này với. Thanks
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Dùng Macro có được không các bạn

Ở đây, Võ đã nghĩ ra một ý, là dùng MAcro để khi xuất HĐ xong thì nó sẽ dùng Chức năng Lọc giống như Paste Special - Value qua sheet DSố K.Hàng. Mà nếu làm cho một khách hàng thì được. Còn nhiều khách hàng không biết phải kết hợp với công thức nào nữa. Giúp Võ giải quyết file này với
 

File đính kèm

Upvote 0
Ở đây, Võ đã nghĩ ra một ý, là dùng MAcro để khi xuất HĐ xong thì nó sẽ dùng Chức năng Lọc giống như Paste Special - Value qua sheet DSố K.Hàng. Mà nếu làm cho một khách hàng thì được. Còn nhiều khách hàng không biết phải kết hợp với công thức nào nữa. Giúp Võ giải quyết file này với

Chào bạn,

Mình gửi bạn file đính kèm. Có thể file này sẽ thay đổi cách nhìn về việc lập báo cáo của bạn.

- Sheet DATA lưu trữ tất cả dữ liệu về nhập hàng và xuất hàng.
- Sheet XUAT có chức năng như form nhập liệu, vừa lập phiếu xuất kiên hóa đơn thu tiền, vừa lập phiếu nhập kho được.
- Khuyến mãi cho bạn thêm 4 loại báo cáo phân tích bán hàng dựa trên dữ liệu ở sheet DATA. Mình sử dụng Pivotable để làm báo cáo. Nếu bạn hiểu về Pivotable, bạn có thể thiết lập thêm các báo cáo phân tích khác theo nhu cầu.

Chúc bạn thành công!
 

File đính kèm

Upvote 0
Chào bạn,

Mình gửi bạn file đính kèm. Có thể file này sẽ thay đổi cách nhìn về việc lập báo cáo của bạn.

- Sheet DATA lưu trữ tất cả dữ liệu về nhập hàng và xuất hàng.
- Sheet XUAT có chức năng như form nhập liệu, vừa lập phiếu xuất kiên hóa đơn thu tiền, vừa lập phiếu nhập kho được.
- Khuyến mãi cho bạn thêm 4 loại báo cáo phân tích bán hàng dựa trên dữ liệu ở sheet DATA. Mình sử dụng Pivotable để làm báo cáo. Nếu bạn hiểu về Pivotable, bạn có thể thiết lập thêm các báo cáo phân tích khác theo nhu cầu.

Chúc bạn thành công!

Vâng, mình đang nghiên cứu. Mình học hỏi được nhiều từ ca_dafi. Thanks alot
 
Upvote 0
Cầu cứu thêm một lần nữa.

Ca_dafi ơi, giúp mình thêm một lần nữa nhé. Mình muốn tạo thêm một Sheet mà nó chỉ tổng xuất cho một ngày bán hàng thui.

Mình đã thử sức với cái Pivot này, nhưng không biết sao nó cứ chạy loạn lên. Không biết đường đâu mà chỉnh sửa hết.

Thanks alot
 

File đính kèm

Upvote 0
Ca_dafi ơi, giúp mình thêm một lần nữa nhé. Mình muốn tạo thêm một Sheet mà nó chỉ tổng xuất cho một ngày bán hàng thui.

Mình đã thử sức với cái Pivot này, nhưng không biết sao nó cứ chạy loạn lên. Không biết đường đâu mà chỉnh sửa hết.

Thanks alot

Bạn cho con trỏ chuột vào giữa Pivotable (ví dụ ô B9 chẳn hạn) và click chuột phải chọn Pivotable Wizard ---> Chọn Layout --> Nghiên cứu tiếp bạn sẽ phải làm gì nhé! Chi việc gắp và thả thôi! Bạn xem file đính kèm nhé!
 

File đính kèm

Upvote 0
Bạn cho con trỏ chuột vào giữa Pivotable (ví dụ ô B9 chẳn hạn) và click chuột phải chọn Pivotable Wizard ---> Chọn Layout --> Nghiên cứu tiếp bạn sẽ phải làm gì nhé! Chi việc gắp và thả thôi! Bạn xem file đính kèm nhé!

Vâng, đã đúng theo ý của mình ruì. Cám ơn ca_dafi rất rất nhiều.

Nhưng từ khi tạo một Pivot mới. Mình đang học từ sách của Ông Văn Thông. Nhưng không biết sao nó lại chạy tùm lum,không giống như Ca_dafi đã làm. Ngày mai mình post cái file đó cho Ca_dafi xem rùi hướng dẫn minh thêm với.

Thanks alot
 
Upvote 0
Tại sao khi tạo Pivot lại bị như vầy

Không hiểu tạo sao luôn. Giúp mình ở file đính kèm với
 

File đính kèm

Upvote 0
Không hiểu tạo sao luôn. Giúp mình ở file đính kèm với

Tại sao ư? Tại vì bạn không đọc kỹ sách của Ông Văn Thông (theo như bạn nói).

1. Bạn gắp field Data thả vào ô Total xem sao.
2. [Số lượng], [thành tiền], [đơn giá], [chiết khấu] bạn chọn là count thì làm sao SUM được, click chuột phải lên field đó và chọn Field Setting; đặt lại Name cho Fields; trong phần Summarize by: chọn là SUM.
3. Những field bên phải, như: [NGÀY], [SỐ HĐ], [TÊN KH]... hãy double click vào tiêu đề field đó, trong phần Subtotal chọn None là xong thôi! Bạn làm thử xem!
 
Upvote 0
Huhuhu, nguyên con gà

Tại sao ư? Tại vì bạn không đọc kỹ sách của Ông Văn Thông (theo như bạn nói).

1. Bạn gắp field Data thả vào ô Total xem sao.
2. [Số lượng], [thành tiền], [đơn giá], [chiết khấu] bạn chọn là count thì làm sao SUM được, click chuột phải lên field đó và chọn Field Setting; đặt lại Name cho Fields; trong phần Summarize by: chọn là SUM.
3. Những field bên phải, như: [NGÀY], [SỐ HĐ], [TÊN KH]... hãy double click vào tiêu đề field đó, trong phần Subtotal chọn None là xong thôi! Bạn làm thử xem!

Nó không hiện ra cái gì nữa hết. Giúp mình thêm tí nữa. Thanks
 

File đính kèm

Upvote 0
Bạn Ca-Dafi ơi, cho em hỏi xíu, mình chưa học về pivottable nhưng cũng nghiên cứu sơ sơ trên mạng và thấy hay hay nhưng không hiểu lắm,bạn có thể hướng dẫn mình đôi nét về nó được không, trước trước mình đọc trên mạng và cũng thử làm nhưng khi update dữ liệu mới vào bảng chi tiết thì bảng tổng hợp không thay đổi gì hết không biết vậy có phải là sai không bạn
 
Upvote 0
Bạn Ca-Dafi ơi, cho em hỏi xíu, mình chưa học về pivottable nhưng cũng nghiên cứu sơ sơ trên mạng và thấy hay hay nhưng không hiểu lắm,bạn có thể hướng dẫn mình đôi nét về nó được không, trước trước mình đọc trên mạng và cũng thử làm nhưng khi update dữ liệu mới vào bảng chi tiết thì bảng tổng hợp không thay đổi gì hết không biết vậy có phải là sai không bạn

Trường hợp này, bạn cũng chỉ cần refresh data lại là xong. Cách refresh thì đơn giản rồi bạn nhé!
Bạn có thể tham khảo thêm về Pivotable tại đây!
http://www.giaiphapexcel.com/forum/showthread.php?t=1428
 
Upvote 0
Upvote 0
Cảm ơn bạn thiếu gia nha, mình làm được nút in rồi. Bạn ơi, nếu mình muốn dùng nút này đề lọc dữ liệu thì được không bạn, vui lòng hướng dẫn dùm mình luôn nha, Thanks

Vẫn làm được hết. Nhưng mấy cái đó phải viết bằng code. Mà mấy cái code thì mình chịu. Bạn hỏi Mr Ca_dafi nhé.
 
Upvote 0
Dear Mr Ca_dafi

Cho minh hỏi. Ở flie Xuat Kho mà bạn đã giúp mình. Mình vẫn thắc mắc.
Thắc mắc ở 2 điểm:
  1. Sheet DATA. Bạn đã dùng những chức năng để nó lọc ra được như vậy. Mình đã nghiên cứu mấy ngày nay nhưng vẫn không hiểu. Phải chăng bạn dùng Data/Consolidate???
  2. Sheet XUAT ở Combo box SAVE thì bạn dùng code VBA hay Macro. Nếu dùng Macro thì qui trình nó như thế nào.
Như mình đã nói ở phần trên. Nếu dùng VBA code thì chỉ mình cách dùng cái đó với. VBA mình điếc.

Giúp mình giải thích hai vấn đề này với nha. Thank
 

File đính kèm

Upvote 0
Dear Mr Ca_dafi

Mình đã đọc được 4 Macro mà bạn đã viết cho mình. Thật sự, mình đã nghiên cứu được là bạn dùng Macro. Nhưng khi Edit 4 cái Macro (LuuDuLieu, Macro2, TangSoCtu, XoaDuLieu) trong Sheet DATA.

Theo như mình đã nói. Về ngôn ngữ VBA thì mình chịu. Nhờ bạn giải thích hộ mình 4 cái Macro đó với nhé. Thanks
 

File đính kèm

Upvote 0
Dear Mr Ca_dafi

Cho minh hỏi. Ở flie Xuat Kho mà bạn đã giúp mình. Mình vẫn thắc mắc.
Thắc mắc ở 2 điểm:
  1. Sheet DATA. Bạn đã dùng những chức năng để nó lọc ra được như vậy. Mình đã nghiên cứu mấy ngày nay nhưng vẫn không hiểu. Phải chăng bạn dùng Data/Consolidate???
  2. Sheet XUAT ở Combo box SAVE thì bạn dùng code VBA hay Macro. Nếu dùng Macro thì qui trình nó như thế nào.
Như mình đã nói ở phần trên. Nếu dùng VBA code thì chỉ mình cách dùng cái đó với. VBA mình điếc.

Giúp mình giải thích hai vấn đề này với nha. Thank

Dear Mr Ca_dafi
Mình vừa nghiên cứu ra được. Ở cái Sheet DATA mà bạn đã làm. Thực ra là bạn đã dùng UserForm. Mình đã tiến hành làm thử như chỉ dẫn. Nhưng than ôi. Quả là một kỳ công cực khổ. Mình đã làm cho bạn vất vã nhiều quá. Cám ơn bạn rất rất nhiều. Nếu có dịp offline cùng GPE mình sẽ đền đáp công ơn này.

Thanks Thanks Thank you very much
 
Upvote 0
Dear Mr Ca_dafi

Cho minh hỏi. Ở flie Xuat Kho mà bạn đã giúp mình. Mình vẫn thắc mắc.
Thắc mắc ở 2 điểm:
  1. Sheet DATA. Bạn đã dùng những chức năng để nó lọc ra được như vậy. Mình đã nghiên cứu mấy ngày nay nhưng vẫn không hiểu. Phải chăng bạn dùng Data/Consolidate???


  1. Thực chất sheet Data là sheet lưu lại tất cả các phiếu nhập/xuất của bạn. Tại sheet XUAT (sheet này có chức năng tương tự một form nhập liệu), sau khi nhập liệu và in ra xong, ta ấn nút SAVE. Ta gán cho thao tác ấn nút này một thủ tục, thủ tục này có tên LuuDuLieu nằm tại module MainFunction, ấn Alt+F11 sẽ thấy:
    PHP:
    Sub LuuDuLieu()
    'Kiem tra xem co du lieu de luu hay khong? 
    If Sheets("Xuat").Range("StartRow") = "" Or IsNull(Sheets("Xuat").Range("StartRow")) Then
        MsgBox "Khong co du lieu de luu!Vui long kiem tra lai!", , "Canh bao!"
        Exit Sub
    Else     "Bắt đầu copy
        Dim MaxDataRow, StartRow, EndRow, Zi, Zj As Integer
        MaxDataRow = Sheets("Data").[A65000].End(xlUp).Row + 1
        StartRow = Sheets("Xuat").Range("StartRow")
        EndRow = Sheets("Xuat").Range("EndRow")
        Zj = 0
        For Zi = StartRow To EndRow
                With Sheets("Data")
                        .Cells(MaxDataRow + Zj, 1) = Sheets("Xuat").Cells(Zi + 8, 1)
                        .Cells(MaxDataRow + Zj, 2) = Sheets("Xuat").Range("LoaiCtu")
                        .Cells(MaxDataRow + Zj, 3) = Sheets("Xuat").[G5]
                        .Cells(MaxDataRow + Zj, 4) = Sheets("Xuat").[G6]
                        .Cells(MaxDataRow + Zj, 5) = Year(Sheets("Xuat").[G6]) & Right("00" &  Month(Sheets("Xuat").[G6]), 2)
                        .Cells(MaxDataRow + Zj, 6) = Sheets("Xuat").Range("TenNVBH")
                        .Cells(MaxDataRow + Zj, 7) = Sheets("Xuat").Range("MaKhach")
                        .Cells(MaxDataRow + Zj, 8) = Sheets("Xuat").Range("TenKhach")
                        .Cells(MaxDataRow + Zj, 9) = Sheets("Xuat").Range("DiaChi")
                        .Cells(MaxDataRow + Zj, 10) = Sheets("Xuat").Range("DienThoai")
                        .Cells(MaxDataRow + Zj, 11) = Sheets("Xuat").Cells(Zi + 8, 2)
                        .Cells(MaxDataRow + Zj, 12) = Sheets("Xuat").Cells(Zi + 8, 3)
                        .Cells(MaxDataRow + Zj, 13) = Sheets("Xuat").Cells(Zi + 8, 4)
                        .Cells(MaxDataRow + Zj, 14) = Sheets("Xuat").Cells(Zi + 8, 5)
                        .Cells(MaxDataRow + Zj, 15) = Sheets("Xuat").Cells(Zi + 8, 6)
                        .Cells(MaxDataRow + Zj, 16) = Sheets("Xuat").Cells(Zi + 8, 7)
                        .Cells(MaxDataRow + Zj, 17) = Sheets("Xuat").Range("ChietKhau") * Sheets("Xuat").Cells(Zi + 8, 7)
                        .Cells(MaxDataRow + Zj, 18) = Sheets("Xuat").Cells(Zi + 8, 7) * (1 - Sheets("Xuat").Range("ChietKhau"))
                End With
                Zj = Zj + 1
        Next Zi
    "=======================================================================================
    "Tăng số chứng từ lên:
        Call TangSoCtu
    "=======================================================================================
        a = MsgBox("Du Lieu da duoc luu thang cong, ban co muon xoa de nhap moi khong?", vbYesNo, "Du lieu da duoc luu...")
        If a = vbYes Then Call XoaDuLieu Else Exit Sub     "Hỏi xem có muốn để lại dữ liệu trên phiếu để làm tiếp hay xóa hết!?
    "=======================================================================================
    End If

    ...Sheet XUAT ở Combo box SAVE thì bạn dùng code VBA hay Macro. Nếu dùng Macro thì qui trình nó như thế nào.
    Đây không phải là combobox SAVE mà là commandbutton SAVE. Commanbutton này tạo từ Control Toolbox (Click chuột phải lên thanh menu chọn control Toolbox). Bạn nghiên cứu từ từ nhé!

    Đối với việc báo cáo bằng Pivot, để không phải mỗi lần cập nhật phiếu ta phải khai báo lại vùng dữ liệu, mình có đặt 1 Name động tên Data (Bạn vào Insert/Name/Define... sẽ thấy)
    Data = OFFSET(DATA!$A$2,,,COUNTA(DATA!$A:$A),18)
    Nghĩa là: Vùng Data = Từ vị trí A2 của sheet Data, mở rộng xuống với số dòng bằng với số dữ liệu đếm được ở cột A và mở rộng ra 18 cột
    COUNTA(DATA!$A:$A) nhằm đếm xem sheet Data có bao nhiêu dòng dữ liệu
 
Lần chỉnh sửa cuối:
Upvote 0
Thực chất sheet Data là sheet lưu lại tất cả các phiếu nhập/xuất của bạn. Tại sheet XUAT (sheet này có chức năng tương tự một form nhập liệu), sau khi nhập liệu và in ra xong, ta ấn nút SAVE. Ta gán cho thao tác ấn nút này một thủ tục, thủ tục này có tên LuuDuLieu nằm tại module MainFunction, ấn Alt+F11 sẽ thấy:
PHP:
Sub LuuDuLieu()
'Kiem tra xem co du lieu de luu hay khong? 
If Sheets("Xuat").Range("StartRow") = "" Or IsNull(Sheets("Xuat").Range("StartRow")) Then
    MsgBox "Khong co du lieu de luu!Vui long kiem tra lai!", , "Canh bao!"
    Exit Sub
Else     "Bắt đầu copy
    Dim MaxDataRow, StartRow, EndRow, Zi, Zj As Integer
    MaxDataRow = Sheets("Data").[A65000].End(xlUp).Row + 1
    StartRow = Sheets("Xuat").Range("StartRow")
    EndRow = Sheets("Xuat").Range("EndRow")
    Zj = 0
    For Zi = StartRow To EndRow
            With Sheets("Data")
                    .Cells(MaxDataRow + Zj, 1) = Sheets("Xuat").Cells(Zi + 8, 1)
                    .Cells(MaxDataRow + Zj, 2) = Sheets("Xuat").Range("LoaiCtu")
                    .Cells(MaxDataRow + Zj, 3) = Sheets("Xuat").[G5]
                    .Cells(MaxDataRow + Zj, 4) = Sheets("Xuat").[G6]
                    .Cells(MaxDataRow + Zj, 5) = Year(Sheets("Xuat").[G6]) & Right("00" &  Month(Sheets("Xuat").[G6]), 2)
                    .Cells(MaxDataRow + Zj, 6) = Sheets("Xuat").Range("TenNVBH")
                    .Cells(MaxDataRow + Zj, 7) = Sheets("Xuat").Range("MaKhach")
                    .Cells(MaxDataRow + Zj, 8) = Sheets("Xuat").Range("TenKhach")
                    .Cells(MaxDataRow + Zj, 9) = Sheets("Xuat").Range("DiaChi")
                    .Cells(MaxDataRow + Zj, 10) = Sheets("Xuat").Range("DienThoai")
                    .Cells(MaxDataRow + Zj, 11) = Sheets("Xuat").Cells(Zi + 8, 2)
                    .Cells(MaxDataRow + Zj, 12) = Sheets("Xuat").Cells(Zi + 8, 3)
                    .Cells(MaxDataRow + Zj, 13) = Sheets("Xuat").Cells(Zi + 8, 4)
                    .Cells(MaxDataRow + Zj, 14) = Sheets("Xuat").Cells(Zi + 8, 5)
                    .Cells(MaxDataRow + Zj, 15) = Sheets("Xuat").Cells(Zi + 8, 6)
                    .Cells(MaxDataRow + Zj, 16) = Sheets("Xuat").Cells(Zi + 8, 7)
                    .Cells(MaxDataRow + Zj, 17) = Sheets("Xuat").Range("ChietKhau") * Sheets("Xuat").Cells(Zi + 8, 7)
                    .Cells(MaxDataRow + Zj, 18) = Sheets("Xuat").Cells(Zi + 8, 7) * (1 - Sheets("Xuat").Range("ChietKhau"))
            End With
            Zj = Zj + 1
    Next Zi
"=======================================================================================
"Tăng số chứng từ lên:
    Call TangSoCtu
"=======================================================================================
    a = MsgBox("Du Lieu da duoc luu thang cong, ban co muon xoa de nhap moi khong?", vbYesNo, "Du lieu da duoc luu...")
    If a = vbYes Then Call XoaDuLieu Else Exit Sub     "Hỏi xem có muốn để lại dữ liệu trên phiếu để làm tiếp hay xóa hết!?
"=======================================================================================
End If


Đây không phải là combobox SAVE mà là commandbutton SAVE. Commanbutton này tạo từ Control Toolbox (Click chuột phải lên thanh menu chọn control Toolbox). Bạn nghiên cứu từ từ nhé!

Đối với việc báo cáo bằng Pivot, để không phải mỗi lần cập nhật phiếu ta phải khai báo lại vùng dữ liệu, mình có đặt 1 Name động tên Data (Bạn vào Insert/Name/Define... sẽ thấy)

Như vậy, cho mình hỏi. Nếu mình muốn tăng SốHD lên 3 hay 4 con số (Giống như đến 999 hay 9999) thì code phải thay đổi như thế nào
 
Upvote 0
Như vậy, cho mình hỏi. Nếu mình muốn tăng SốHD lên 3 hay 4 con số (Giống như đến 999 hay 9999) thì code phải thay đổi như thế nào
Bạn lưu ý thủ tục TangSoCTu trong Module MainFunction, những phần tô đậm màu xanh.
Sub TangSoCtu()
'Tang so chung tu len: (số chứng từ có ba con số):
Dim SoHDMoi, Temp As String
With Sheets("Xuat")
Temp = Left(.[G5], Len(.[G5]) - 3)
SoHDMoi = Right("000" & Right(.[G5], 3) + 1, 3)
.[G5] = Temp & SoHDMoi
End With
End Sub

Ví dụ trên cho 3 con số, bạn tự suy ra bốn con số nhé.
 
Upvote 0
Bạn cho mình hỏi xíu, cty mình bán hàng thường xuyên thay đổi giá, bạn hướng dẫn mình cách làm file sao cho mình nhập giá mới trong excel có thể update giá mới link với file bán hàng, đồng thời nó cũng link với file báo giá cho khách hàng (Quotation) và khi chọn một sản phẩm nào nó sẽ thể hiện một list giá của sản phẩm đó và thời gian thay đổi. Cảm ơn
 
Upvote 0
Bạn cho mình hỏi xíu, cty mình bán hàng thường xuyên thay đổi giá, bạn hướng dẫn mình cách làm file sao cho mình nhập giá mới trong excel có thể update giá mới link với file bán hàng, đồng thời nó cũng link với file báo giá cho khách hàng (Quotation) và khi chọn một sản phẩm nào nó sẽ thể hiện một list giá của sản phẩm đó và thời gian thay đổi. Cảm ơn

Bạn gửi File của bạn lên mình xem thử cấu trúc dữ liệu của bạn xem!
 
Upvote 0
Lâu quá không post bài lên, giờ quên cách đứa file lên rồi , đừng cười mình nha
 
Upvote 0
[Sao mình lick "tải file từ máy" mà không link được, chỉ mình với
 
Upvote 0
nhưng mình cũng đãi gởi file đính kèm nhiều lần rồi mà sao giờ lại không gới được, hay tại lâu ngày không gởi nên không gởi được
Nếu file excel của bạn > 97kb thì phải Zip lại rồi mới gửi lên được.
 
Upvote 0
Không phải vậy đâu, Mình lick vao "tải file từ máy" mà nó im re ah, không biết do gì nữa
 

File đính kèm

Upvote 0
Bạn cho mình hỏi xíu, cty mình bán hàng thường xuyên thay đổi giá, bạn hướng dẫn mình cách làm file sao cho mình nhập giá mới trong excel có thể update giá mới link với file bán hàng, đồng thời nó cũng link với file báo giá cho khách hàng (Quotation) và khi chọn một sản phẩm nào nó sẽ thể hiện một list giá của sản phẩm đó và thời gian thay đổi. Cảm ơn

Theo bạn, giá mới là giá có ngày hiệu lực là ngày gần ngày hiện tại nhất hay gần ngày bán hàng nhất?
Trong phần bán hàng, đơn giá áp vào sẽ phải so sánh ngày bán hàng với ngày có hiệu lực trong danh mục giá?
 
Upvote 0
"Theo bạn, giá mới là giá có ngày hiệu lực là ngày gần ngày hiện tại nhất hay gần ngày bán hàng nhất?" :Theo mình thì giá mới là giá có ngày hiệu lực là ngày gần ngày hiện tại nhất, và khi sản phẩm nào có giá mới sẽ nhập vào file list giá từ file này sẽ in ra file "Quotation"
"Trong phần bán hàng, đơn giá áp vào sẽ phải so sánh ngày bán hàng với ngày có hiệu lực trong danh mục giá? " : dạ đúng rồi.
Thật ra công việc mình làm có liên quan đến những vấn đề này, mình cũng chỉ nghĩ ra vậy thôi nhưng chưa được thông suốt lắm, nếu bạn có ý kiến gì hay hơn thì góp ý cho mình nha, cảm ơn nhiều.
 
Lần chỉnh sửa cuối:
Upvote 0
Theo bạn, giá mới là giá có ngày hiệu lực là ngày gần ngày hiện tại nhất hay gần ngày bán hàng nhất?
Trong phần bán hàng, đơn giá áp vào sẽ phải so sánh ngày bán hàng với ngày có hiệu lực trong danh mục giá?
Theo mình thì giá mới là giá có ngày hiệu lực là ngày gần ngày hiện tại nhất, và khi sản phẩm nào có giá mới sẽ nhập vào file list giá từ file này sẽ in ra file "Quotation"
Trong phần bán hàng, đơn giá áp vào sẽ phải so sánh ngày bán hàng với ngày có hiệu lực trong danh mục giá.
Thật ra công việc mình làm có liên quan đến những vấn đề này, mình cũng chỉ nghĩ ra vậy thôi nhưng chưa được thông suốt lắm, nếu bạn có ý kiến gì hay hơn thì góp ý cho mình nha, cảm ơn nhiều.
 
Upvote 0

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

Back
Top Bottom