Theo dõi khách thuê phòng khách sạn

Liên hệ QC

le_vis

Thành viên tích cực
Tham gia
23/7/09
Bài viết
1,245
Được thích
758
Mọi chi tiết xin các bạn xem giúp trong File đính kèm – Xin trân trọng cảm ơn !
 

File đính kèm

  • PHONG_NGHI.xlsx
    27.6 KB · Đọc: 70
Mọi chi tiết xin các bạn xem giúp trong File đính kèm – Xin trân trọng cảm ơn !
Góp ý cho bạn:
1/ Nên dùng tiêu đề ngắn gọn như: Quản lý khách sạn hay theo dõi khách thuê phòng khách sạn. Chủ yếu là nội dung cần nêu rõ ràng, cụ thể vấn đề cần.
2/ Yêu cầu sử dụng VBA thì phải đăng bài trong Box Lập trình với Excel.
3/ Tham khảo bài viết ở Link sau:
https://www.giaiphapexcel.com/diendan/threads/quản-lý-khách-sạn.135399/
 
Lần chỉnh sửa cuối:
Góp ý cho bạn:
1/ Nên dùng tiêu đề ngắn gọn như: Quản lý khách sạn hay theo dõi khách thuê phòng khách sạn. Chủ yếu là nội dung cần nêu rõ ràng, cụ thể vấn đề cần.
2/ Yêu cầu sử dụng VBA thì phải đăng bài trong Box Lập trình với Excel.
3/ Tham khảo bài viết ở Link sau:
https://www.giaiphapexcel.com/diendan/threads/quản-lý-khách-sạn.135399/
Cảm ơn be09 nhiều - mình sẽ rút kinh nghiệm, Nếu được bạn chuyển giúp sang Box Lập trình với Excel. và xin có lời phúc đáp sau :
Mình cũng muốn làm như bảng theo dõi bạn đã làm giúp TuanKiet đó nhưng theo cấu trúc của Sheet DATA mình đã nêu trong File #1
Mong bạn ra tay giúp đỡ - Trân trọng cảm ơn
Ủa mà bạn năm nay 61 tuổi là tuổi Đinh dậu hả - Nếu vậy ta đồng niên đó (Không hiểu sao diễn đàn trang mới cho mình trẻ lại sướng quá )
 
Lần chỉnh sửa cuối:
Mình có ý sau về sơ đồ fòng nghỉ với bạn, như sau:
SĐ Phòng.JPG
Các ô màu bên trái (A) thể hiện 3 loại fòng của bạn;
Các ô màu bên fải (B) thể hiện:
Ô đỏ luôn bên trái cao nhất: Màu đỏ nghĩa là fòng đang có khách; Không màu, hay màu trắng là fòng đang trống;
Các ô cuối fải nhất của các fòng: Màu xanh là có dùng dịch vụ cộng thêm như điện thoại, Bia, rượu, nước giải khác, . . .
Còn các ô trên cùng fải nhất là số ngày khách đã trãi qua ở fòng này.
2ui ước: Khi giao chìa khóa fòng cho khách, ta bật ô trái nhất trên cùng thành màu đỏ
Hàng ngày khách nghỉ, ta ghi vô sơ đồ (bằng những con số), khi khách chưa báo trả fòng
Cũng hàng ngày, các nhân viên trực fòng sẽ báo để ta bôi màu (khác trắng) ô fải thấp nhất trong sơ đồ; Tất nhiên trực fòng sẽ fải bổ sung loại hàng dịch vụ mà trước đó khách đã xài.
Số hàng khách đã sử dụng fải ghi lại để khi khách báo trả fòng thì tất toán trên hóa đơn.
Sau khi khách trả chìa khóa fòng & tất toán, ta xóa hết màu & số liệu đã có trước đó trong fòng ngỏ hầu chờ đón lượt khách mới
Đây chỉ là ý tưởng của mình thôi; Còn chuyện có fù hợp với thực tiển hay không mình không rõ à nha!

Chúc ngày cuối tuần hạnh phúc đến với các bạn!
 
Mình có ý sau về sơ đồ fòng nghỉ với bạn, như sau:
View attachment 203958
Các ô màu bên trái (A) thể hiện 3 loại fòng của bạn;
Các ô màu bên fải (B) thể hiện:
Ô đỏ luôn bên trái cao nhất: Màu đỏ nghĩa là fòng đang có khách; Không màu, hay màu trắng là fòng đang trống;
Các ô cuối fải nhất của các fòng: Màu xanh là có dùng dịch vụ cộng thêm như điện thoại, Bia, rượu, nước giải khác, . . .
Còn các ô trên cùng fải nhất là số ngày khách đã trãi qua ở fòng này.
2ui ước: Khi giao chìa khóa fòng cho khách, ta bật ô trái nhất trên cùng thành màu đỏ
Hàng ngày khách nghỉ, ta ghi vô sơ đồ (bằng những con số), khi khách chưa báo trả fòng
Cũng hàng ngày, các nhân viên trực fòng sẽ báo để ta bôi màu (khác trắng) ô fải thấp nhất trong sơ đồ; Tất nhiên trực fòng sẽ fải bổ sung loại hàng dịch vụ mà trước đó khách đã xài.
Số hàng khách đã sử dụng fải ghi lại để khi khách báo trả fòng thì tất toán trên hóa đơn.
Sau khi khách trả chìa khóa fòng & tất toán, ta xóa hết màu & số liệu đã có trước đó trong fòng ngỏ hầu chờ đón lượt khách mới
Đây chỉ là ý tưởng của mình thôi; Còn chuyện có fù hợp với thực tiển hay không mình không rõ à nha!

Chúc ngày cuối tuần hạnh phúc đến với các bạn!

Rất vui khi được bạn quan tâm ; Mình xin ý kiến thế này : Tại File tôi gửi lên toi trích 2 Sheet; còn File thực tế tôi sẽ thiết kế tất cả mọi phát sinh do lễ tân thực hiện trên Form nhập liệu ==> dữ liệu sẽ lưu sang Sheet DATA ==> Cơ sở căn cứ để thiết kế bảng thông báo phòng là dựa trên cột P (Mã HH_DV) và cột W (Nhận phòng) và cột X (Trả phòng). Như vậy báo "Phòng trống" có 2 tình huống :Một là khi cột P chưa phát sinh mã phòng này; hoặc tại cột P đã phát sinh nhiều lượt mã phòng này Trong đó tất cả các dòng mã phòng này tại cột X>0 (Nghĩa là đã trả phòng)
Còn Nếu dòng cuối của mã phòng này tại cột X= 0 (Nghĩa là chưa trả phòng) thì tự động báo phòng bận
Có thể báo bằng chữ hoặc bằng mầu - Mong bạn ra tay giúp đỡ
 
Anh dùng thử file này. Góp ý thêm: cột X (sheet DATA) nếu giờ trả là 14:05 thì không có AM hay PM phía sau.
Rất cảm ơn bạn đã quan tâm. Mình muốn dùng code Vba vì nếu dùng hàm và dùng cột phụ nhiều file sẽ rất nặng. Mình đã sử dụng Table và một phần nhỏ code tự động cập nhật ngày nhưng nếu dùng nhiều tới 50.000 dòng thì sao nhỉ FILE SẼ NẶNG LẮM. Bạn thử xem file đính kèm của mình đã làm và cho thêm ý kiến nhé - Xin cảm ơn
 

File đính kèm

  • PHONG_NGHI.xlsm
    39.8 KB · Đọc: 21
Rất cảm ơn bạn đã quan tâm. Mình muốn dùng code Vba vì nếu dùng hàm và dùng cột phụ nhiều file sẽ rất nặng. Mình đã sử dụng Table và một phần nhỏ code tự động cập nhật ngày nhưng nếu dùng nhiều tới 50.000 dòng thì sao nhỉ FILE SẼ NẶNG LẮM. Bạn thử xem file đính kèm của mình đã làm và cho thêm ý kiến nhé - Xin cảm ơn
Góp ý tiếp cho bạn:
1/ Bài 5 bạn có nêu: File thực tế tôi sẽ thiết kế tất cả mọi phát sinh do lễ tân thực hiện trên Form nhập liệu, cái này bạn nên có 1 sheet chứa 1 bảng liệt kê loại phòng, đơn giá phòng và 1 bảng liệt kê đơn giá các loại dịch vụ khác.
2/ Bạn nên kê ra quy trình để các thành viên biết mà thiết kế cho phù hợp, ví dụ:
Nhận phòng > tính tiền phòng + các dịch vụ khác (sau khi nhân viên kiểm tra phòng).
Nếu theo quy trình này thì phải có 1 phiếu tính tiền phòng và các dịch vụ.
3/ Như vậy thì phải có 2 sheet theo dõi.
- 1 sheet theo dõi và hiện kết quả vào sơ đồ phòng để nhận biết phòng nào trống, phòng nào đang có khách.
- 1 sheet theo dõi chung tiền phòng và các dịch vụ khác.
 
Góp ý tiếp cho bạn:
1/ Bài 5 bạn có nêu: File thực tế tôi sẽ thiết kế tất cả mọi phát sinh do lễ tân thực hiện trên Form nhập liệu, cái này bạn nên có 1 sheet chứa 1 bảng liệt kê loại phòng, đơn giá phòng và 1 bảng liệt kê đơn giá các loại dịch vụ khác.
2/ Bạn nên kê ra quy trình để các thành viên biết mà thiết kế cho phù hợp, ví dụ:
Nhận phòng > tính tiền phòng + các dịch vụ khác (sau khi nhân viên kiểm tra phòng).
Nếu theo quy trình này thì phải có 1 phiếu tính tiền phòng và các dịch vụ.
3/ Như vậy thì phải có 2 sheet theo dõi.
- 1 sheet theo dõi và hiện kết quả vào sơ đồ phòng để nhận biết phòng nào trống, phòng nào đang có khách.
- 1 sheet theo dõi chung tiền phòng và các dịch vụ khác.

Mấy ngày qua Không thể nào gửi được bài đi Mong các bạn cảm thông
Cảm ơn bạn be09 tôi gửi bản thiết kế theo cách tổ chức quản lý của tôi. Một số vướng mắc cần được giúp đỡ tôi ghi cụ thể trong File mong bạn cùng các thành viên xem và giúp đỡ
- Trân trọng cảm ơn
 

File đính kèm

  • QLKS__DRUZBA.xlsm
    979.3 KB · Đọc: 40
Mấy ngày qua Không thể nào gửi được bài đi Mong các bạn cảm thông
Cảm ơn bạn be09 tôi gửi bản thiết kế theo cách tổ chức quản lý của tôi. Một số vướng mắc cần được giúp đỡ tôi ghi cụ thể trong File mong bạn cùng các thành viên xem và giúp đỡ
- Trân trọng cảm ơn
dhn46 trả lời bác cho mục "MỘT LÀ"
Trong sheet FORM
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim indez As Variant, wsKH As Worksheet, wsTongHop As Worksheet
'---> Neu Target la G3
If Target.Address = "$G$3" Then
    '---> Neu G3 <> ""
    If WorksheetFunction.Trim(Target.Value) <> "" Then
        Set wsKH = Worksheets("DS_KH")
        '---> Tim kiem Ma so thue tai G3 trong sheet DS_KH
        indez = Application.Match(Target.Value, wsKH.Range("D8:D" & wsKH.Range("D" & wsKH.Rows.Count).End(xlUp).Row), 0)
        '---> Neu tim thay thi lay du lieu
        If TypeName(indez) <> "Error" Then
            Target.Offset(1, -2).Value = wsKH.Range("E" & (7 + indez)).Value
            Target.Offset(2, -2).Value = wsKH.Range("F" & (7 + indez)).Value
            Target.Offset(3, -2).Value = wsKH.Range("G" & (7 + indez)).Value
            Target.Offset(3, -0).Value = wsKH.Range("H" & (7 + indez)).Value
            Target.Offset(1, 2).Value = wsKH.Range("I" & (7 + indez)).Value
        '---> Neu khong tim thay thi xoa Form (---> Day la nguyen nhan van de "MOT LA")
        Else
            ClearForm False
        End If
    End If
End If

If Target.Address = "$E$3" Then
    ClearForm
    If Not IsNumeric(Target.Value) Or WorksheetFunction.Trim(Target.Value) = "" Then Exit Sub
    indez = SearchIndezCT(Target.Value)
    LoadDataByIndez indez
End If
End Sub
 
Theo mình, cái trang 'Menu' đó nên xây dựng sau cùng;
Giờ muốn sờ đến cái "Hai là" của bạn cũng không dễ, xin chào!

Khách sạn của bạn mang tên "Hữu nghị", nhưng cái menu của bạn chưa thân thiện cho người có nhã í giúp bạn cho lắm.
 
dhn46 trả lời bác cho mục "MỘT LÀ"
Trong sheet FORM
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim indez As Variant, wsKH As Worksheet, wsTongHop As Worksheet
'---> Neu Target la G3
If Target.Address = "$G$3" Then
    '---> Neu G3 <> ""
    If WorksheetFunction.Trim(Target.Value) <> "" Then
        Set wsKH = Worksheets("DS_KH")
        '---> Tim kiem Ma so thue tai G3 trong sheet DS_KH
        indez = Application.Match(Target.Value, wsKH.Range("D8:D" & wsKH.Range("D" & wsKH.Rows.Count).End(xlUp).Row), 0)
        '---> Neu tim thay thi lay du lieu
        If TypeName(indez) <> "Error" Then
            Target.Offset(1, -2).Value = wsKH.Range("E" & (7 + indez)).Value
            Target.Offset(2, -2).Value = wsKH.Range("F" & (7 + indez)).Value
            Target.Offset(3, -2).Value = wsKH.Range("G" & (7 + indez)).Value
            Target.Offset(3, -0).Value = wsKH.Range("H" & (7 + indez)).Value
            Target.Offset(1, 2).Value = wsKH.Range("I" & (7 + indez)).Value
        '---> Neu khong tim thay thi xoa Form (---> Day la nguyen nhan van de "MOT LA")
        Else
            ClearForm False
        End If
    End If
End If

If Target.Address = "$E$3" Then
    ClearForm
    If Not IsNumeric(Target.Value) Or WorksheetFunction.Trim(Target.Value) = "" Then Exit Sub
    indez = SearchIndezCT(Target.Value)
    LoadDataByIndez indez
End If
End Sub
Xin cảm ơn dhn46. đã chỉ rõ và tôi đã xử lý được cảm ơn bạn nhiều. Rất mong có điều kiện bạn giúp thêm cho phần HAI LÀ được không ? Cảm ơn bạn nhiều lắm
Bài đã được tự động gộp:

Theo mình, cái trang 'Menu' đó nên xây dựng sau cùng;
Giờ muốn sờ đến cái "Hai là" của bạn cũng không dễ, xin chào!

Khách sạn của bạn mang tên "Hữu nghị", nhưng cái menu của bạn chưa thân thiện cho người có nhã í giúp bạn cho lắm.
Ha ha bạn giỏi tiếng Anh lại cả Bun và Nga nữa sao ? Giỏi nhiều thế . Cảm ơn bạn đã góp ý . mong rằng nhận được sự trợ giúp thêm của các bạn
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom