Hỏi Về Code Trong USer Form (1 người xem)

  • Thread starter Thread starter khamha
  • Ngày gửi Ngày gửi
Liên hệ QC

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

khamha

Không có việc gì khó...
Tham gia
4/6/10
Bài viết
662
Được thích
846
Nghề nghiệp
CNVC Laos
Mình Gặp Vấn Đề Trong Khi Tạo USer Form Nhờ Các Bạn Giúp Như Sau:
1. Mình Có Tạo Một USer Form Có Kích Thước Bằng Một Trang A4 ,Nhưng Khi Form Hiện Lên Màn Hình Để Nhập Dữ Liệu Thì Chỉ Có Khoảng
Hai Phần Ba, Nên Đoạn Cuối Không Thể Nhập Dữ Liệu Được,Không Biết Có Cách Nào Để Di Chuyển Form Lên Xuống Không ?
2. Có Cách Nào Để In Được USer Form Không?
Các Bạn Cố Gắng Giúp Mình Với. Cảm Ơn Các Bạn Nhiều...
 
1/Bạn dùng Multi_Pages và chia cái Form của bạn thành vài Page. Như vậy Forn sẽ gọn gàng hơn và di chuyển dễ dàng hơn.
2/Trên form thêm 1 nút và viết lệnh để thử yêu cầu của bạn

Mã:
Private Sub CommandButton1_Click()
Me.PrintForm
End Sub
 
Upvote 0
Nhờ Các Bạn Giúp Mình Mấy Cái Code Trong USer Form Với:
1. Code Tự Động Điền Số Thứ Tự ( Khi Ta Mở Form Mới Thì Nó Sẽ Tự Động Điền Sổ Thứ Tự Nối Tiếp Trong Bảng Dữ Liệu )
2. Code Chỉ Cho Sửa Ở Những Ô Cho Phép.
3. Code Quy Định Những Ô Chỉ Cho Phép Nhập Số.
Cảm Ơn Các Bạn Nhiều...
 
Upvote 0
Bạn nên làm 1 cái Form của mình, nếu gặp vướng mắc sẽ hoàn chỉnh sau. Hiện nay, mình thấy yêu cầu của bạn nó có một số vấn đề không hợp lý lắm.Mình tham gia như sau:
-Form có 4 chế độ: Xem-Sửa-Thêm mới-Xóa
Khi xem thì khóa tất cả các ô chỉ để xem thôi.
Khi sửa sẽ sửa chứng từ đang hiện trên Form. Tất cả các ô đếu sửa được vì đều tiềm ẩn nhập sai.
Khi thêm mới sẽ hiện form trắng và số thứ tự sẽ bằng Max số TT+1 hoặc bằng số thứ tự dòng trắng cuối cùng - số dòng tiêu đề. Ta nên viết 1 đoạn code riêng để Reset số thứ tự vì ngoài việc thêm mới thì khi xóa 1 dòng thì số TT sẽ thay đổi hàng loạt
 
Upvote 0
Chào Các Bạn,Mình Có Một Cái User Form Muốn Nhờ Các Bạn Sửa Giúp ( Dùng Để Lọc Dữ Liệu ) 1. Sửa Để Nó Lọc Toàn Bộ Các Cột Trong Sheet Data 2. Trong Thanh Trượt Của UserForm Dùng Để Tìm Đối Tượng Để Lọc Chỉ Cho Hiện Thị Mỗi Loại Một Cái, Ví Dụ: Trong Bảng Data Có Số 2 Tất Cả 5 Số Thì Chỉ Cho Hiện 1 Số,Nhưng Khi Lọc Thì Nó Sẽ Tự Động Tất Cả 5 Số Vào Bảng “ Loc ” Các Bạn Cố Gắng Giúp Mình Với,Thank
 

File đính kèm

Upvote 0
Bạn lưu ý, đã lọc thì phải chủ động nạp DS chứ không đặt rowsource được.
 

File đính kèm

Upvote 0
Vụ Lọc Dữ Liệu Này Gay Thật Làm Mãi Mà Chả Được Như Ý !!!
Bạn sealand Ơi Hình Như Bạn Chưa Sửa Cho Mình Về Vấn Đề Lọc Tất Cả Các Cột Trong Sheet "Data" Bạn Làn Ơn Giúp Mình Luôn Đi,Cảm Ơn Bạn Nhiều.
 
Upvote 0
Bạn diễn giải khó hiểu thật, mình cứ làm lại xem sao
 

File đính kèm

Upvote 0
Chào Bạn sealand , Mình Đã down Về Chạy Thử Rất Tốt Tuy Rằng Lọc Hơi CHậm ,Nhưng Cũng Phải Công Nhận Là Bạn Nắm Vững
Về Excel Thật ( Mình Tưởng Là Phải Bó Tay Rồi )Mình Rất Cảm Ơn Bạn.
Mình Còn Một Vấn Đề Nữa Nhờ Bạn Giúp Sửa Lại Code Để Cho Nó Lọc Dữ Liệu Bắt Đầu Từ Cột "B" Của Sheet "Data" Vì Lý Do Như Sau:
1. khi Mình Nhập Dữ Liệu Từ USer Form Vào Bảng Tính "Data" Thì Nó Tự Động Điền Số Thứ Tự Cho Cột "A" Nên Bắt Buộc Phải Chuyển
Cột "Mã Khách Hàng "Sang Cột "B" Vì Vậy Nên Không Thể Lọc Được ( Nó Chuyển Sang Lọc Số Thứ Tự )
2. Mình Cũng Đã Thử Chỉnh Lại Rồi ( Mày Mò Làm Cho Quen Ấy Mà ) Nhưng Mà Càng Sửa Thì Càng Sai Và Cuối Cùng Lại Phải Nhờ Bạn Ra Tay
Giúp Mình Với...Thank
 
Upvote 0
Bạn thử lại xem nào.

Bạn lưu ý chỉ sửa như sau ở 1 câu lệnh:

.Range("A3:H" & Sheet12.[a65536].End(xlUp).Row).AutoFilter _
Field:=2, Criteria1:=Trim(CongViecDuocChon.List(lItem, 1))

Lọc hơi chậm chắc còn vấn đề gì nữa đấy chứ đây là đoạn code lọc của bác SA_DQ mà mình rất ưng đấy. Nó chộp cả mảng chứ không phải từng dòng nên khá nhanh.
Bạn thấy không, diễn đạt sao cho anh em hiểu cũng rất quan trọng. Nhiều anh em khác không hiểu bạn thôi chứ không phải không quan tâm bài của bạn.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Chào Bạn,Mình Đã Sửa Như Bạn Hướng Dẫn,Nó Chạy Rất Tốt Và Lọc Cột "B" Của Sheet "Data" ,Nhưng Nó Lại Phát Sinh Thêm Một Lỗi Là: Danh Sách Thu Gọn
Số Xuất Hiện Trên Form Lọc Nó Vẫn Thu Gọn Ở Cột "A" Sheet "Data" ( Bạn Làm Ơn Đọc Lại Ý Của Mình Đã Viết Ở Bài # 5 ) Lại Một Lần Nữa Nhờ Bạn Sửa Lại Để
Nó Thu Gọn Danh Sách Ở Cột "B" Sheet "Data" .Thank
 
Upvote 0
Có lẽ bạn sửa nhầm rồi, bạn xem mình sửa nhé
 

File đính kèm

Upvote 0
Bạn Ơi Cho Mình Hỏi Là Tại Sao Lúc Mình Đưa User Form Vào Bảng Lọc Dữ Liệu ( Sử Dung Để Nhập Dữ Liệu Vào Bảng “Data”)
Thì Nó Báo Lỗi,Theo Mình Kiểm Tra Thì Thấy Rằng Nó Bị Lỗi Như Sau:
1. Cái User Form Mình Đưa Vào Nó Dùng Để Nhập Dữ Liệu Vào Bảng Tính Có Tên Là: HS(Data)
2. Cái Form Lọc Dữ Liệu Thì Lại Lọc Dữ Liệu Từ Bảng Tính Có Tên Là: Sheet12(Data)
3. Mình Đã Thử Đổi Tên Sheet Trong Code Của Form Lọc Dữ Liệu Từ: Sheet12Thành HS ,Nhưng Mà Nó Vẫn Báo Lỗi.
Mình Đưa Code Lên Nhờ Bạn Kiểm Tra Và Sửa Lại Cho Mình Với,Cảm Ơn Bạn.
PHP:
    Private Sub Chon_Click()
    Dim lItem As Long, Rng As Range
      Sheet3.[A7:H65536].ClearContents
        On Error Resume Next
          For lItem = 0 To CongViecDuocChon.ListCount - 1
             If CongViecDuocChon.Selected(lItem) = True Then
              With Sheet12
              .Range("A3:H" & Sheet12.[a65536].End(xlUp).Row).AutoFilter _
              Field:=2, Criteria1:=Trim(CongViecDuocChon.List(lItem, 1))
             Set Rng = .AutoFilter.Range.Offset(1, 0).Resize(.AutoFilter.Range.Rows. _
                     Count - 1).SpecialCells(xlCellTypeVisible)
            Rng.Copy Destination:=Sheet3.[b65536].End(xlUp).Offset(1)
          End With
        CongViecDuocChon.Selected(lItem) = False
      End If
    Next
  Sheet12.Range("A3:H" & Sheet12.[a65536].End(xlUp).Row).AutoFilter
  For Each Rng In Sheet3.Range("A7:A" & Sheet3.[b65536].End(xlUp).Row)
  Rng.Value = Rng.Row - 6
  Next
  Unload Me
  End Sub
  Private Sub Cancel_Click()
  Unload DanhMucCV
  End Sub
  Private Sub UserForm_Initialize()
  Dsach
  End Sub
  Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
      If CloseMode = 0 Then Cancel = True
  End Sub
  Sub Dsach()
  Dim Clls As Range, mg(), i
  With Range(Sheet12.[A4], Sheet12.[a65536].End(xlUp))
  For Each Clls In .Cells
  If WorksheetFunction.CountIf(Range(Sheet12.[A5], Clls), Clls) = 1 Then
  CongViecDuocChon.AddItem Clls.Value, i
  CongViecDuocChon.List(i, 1) = Clls.Offset(, 1).Value
  i = i + 1
  End If
  Next
  End With
  End Sub
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Bạn để ý trong VBA: Sheet12(Data)

Phần màu đỏ là CodeName của Sheet (Phần này vào VBA mới đổi được)
Phần màu xanh là tên của Sheet (Phần này người dùng có thể thay đổi)

Mình hay dùng CodeName cho ổn định vì Phần Name có thể thay đổi dẫn đến vỡ Code.
 
Upvote 0
Ý Của Bạn Là Mình Chỉ Cần Sửa Đoạn Code Trên Như Sau: Những Chỗ Có Chữ Sheet12 Sửa Lại Thành HS
 
Upvote 0
Đổi theo phần bên ngoài dấu ngoăc của sheet Data (Nếu phần đó là HS thì đúng rồi)
 
Upvote 0
Chào Bạn,Mình Đã Sửa Cái Code Theo Bạn Hướng Dẫn Và Đã Ghép Lại Được Với Nhau,Hiện Nó Chạy Rất Tốt,Sau Khi Sử Dụng Cái Bảng Tính Đấy mình Lại Thấy Nó Vẫn Chưa Đáp Ứng Được Công Việc Của Mình Vì Lý Do Sau Đây:
1. Khi Tổng Kết Cuối Tháng Mình Sẽ Phải Lọc Dữ Liệu Từ Bảng “Data” Như Sau:
1.1. Nếu Tổng Kết Tổng Hợp Thì Chỉ Cần Lọc Dữ Liệu Tại Cột “B” Của Sheet “Data” Là Được.
1.2. Nếu Tổng Kết Chi Tiết Theo Từng Trường Hợp Thì Cần Phải Lọc Thêm Dữ Liệu Ở Cột: F, G Và H Của sheet “Data”
* Khi Lọc Dữ Liệu Để Tổng Kết Chi Tiết Thì Sẽ Lọc Tuần Tự Như Sau:
1. Bước Một: Chọn Dữ Liệu Cần Lọc Tại Cột “B” ,Của Sheet”Data” ,Ví Dụ: Chọn Tháng 6/2010 = 201006
2. Bước Hai: Chọn Dữ Liệu Cần Lọc Tại Cột “F” ,Của Sheet”Data” ,Ví Dụ: Chọn Là A.
3. Bước Ba: Chọn Dữ Liệu Cần Lọc Tại Cột “G” , Của Sheet”Data” ,Ví Dụ: Chọn Là Y.
4. Bước Bốn: Chọn Dữ Liệu Cần Lọc Tại Cột “F” , Của Sheet”Data” ,Ví Dụ: Chọn Là N.
5. Bước Năm: Bấm OK.
6. Kết Quả Lọc Hiện Lên Tại Sheet “Lọc”Sẽ Là:
+ Cột “C” Sẽ Hiện Lên Dữ Liệu Của Tháng 6/2010 ,Với Điều Kiện Các Cột: G,H,I ,Có Các Dữ Liệu: A,Y,N.
+ Cột “G” Sẽ Hiện Lên Dữ Liệu Là: A ,Với Điều Kiện Các Cột: H,I ,Có Các Dữ Liệu: Y,N.
+ Cột “H” Sẽ Hiện Lên Dữ Liệu Là: Y ,Với Điều Kiện Cột: I ,Có Các Dữ Liệu: N.
+ Cột “I” Sẽ Hiện Lên Dữ Liệu Là: N.
2. Mình Đã Sửa Cái User Form Để Lọc Dữ Liệu Thành 4 Ô Và Đưa Lên Nhờ Bạn Thiết Kế Giúp Mình Để Nó Có Thể Lọc Được Theo Điều Kiện Như Trên “ Bạn Làm Ơn Sửa Nó Trong File Mình Đưa Lên Vì Nó Có Tên Giống Nhau Cùng Cái UserForm Nhập Liệu Của Mình”
Cảm Ơn Bạn Rất Nhiều.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Trời ạ, cái anh bạn này. Bạn thay đổi sheet Data kiểu gì rồi mà bạn không gửi file thì sao mà hiểu. Bạn nói chọn ngày trên cột B trong khi cột B là tên Khách hàng. Cột E,F,G là cột số lượng, đơn giá và thành tiền thì lọc cái chi? Bạn xem lại hương dẫn mọi người hiểu ý bạn đã mới hy vọng làm đúng ý bạn được.
Còn việc loc thì chắc là OK thôi vì có nhiều phương án mà.
 
Upvote 0
Bạn sealand Thân Mến,Vấn Đề Mình Không Gửi Cái File Đấy Lên Cùng Nếu Nói Ra Chắc Bạn Không Tin, Chỗ Mình Ở Mạng Nó Chậm Kinh Khủng Lúc Dùng Phần Mềm Hỗ Trợ
download Cũng chỉ Nên Được 18k Thôi,Nên Khi Tải File Nên Toàn Bị Đứt Nửa Chừng ( Bạn Có Tin Là Mình down Windows 7 Về Mà Mất 48 Tiếng Không ) Không Tin Bạn Thử
Kiểm Tra Các Bài Của Mình Toàn Phải Gửi Lên Lúc 2,3 Giờ Sáng Vì Lúc Đấy Nó Mới Khoẻ Lên Được Tầm 20k.
Mình Đã Gửi Lên Được Rồi,Bạn Làm Ơn Giúp Mình Nha,Thank
 
Upvote 0
Không hiểu sao nội dung bảng thì không sao nhưng tiêu đề không hiển thị được mà toàn ô vuông bạn ạ.
 
Upvote 0
Cái File Đấy Là Bảng Tính Để Theo Dõi Dữ Liệu Thu Thuế Của Mình ( Bản Gốc ) Mình Đưa Lên Để Bạn Sửa Code Trong Đó Luôn Cho Chắc Ăn,Nó Là Chữ Lào Lên Hiện Nên Ô Vuông ( Máy Bạn Phải Cài Font Lào Hoặc Sử Dụng Win 7 Hay Vista Mới Hiện Chữ Lào Lên Được " Nó Giống Như Mình Đánh Chữ Việt Là Đang Dùng Bộ Font Việt Có Sẵn Trong Win 7 " ) Bạn Cứ Sửa Theo Tên Cột Mà Mình Đã Trình Bầy Ở Trên Là Đúng Theo Ý Mình.Thank
 
Upvote 0
Với yêu cầu của bạn mình làm lại Form nhập điều kiện tìm kiếm. Bạn kiểm tra lại giùm nha
(Vì mình không biết tiêu đề cột là gì nên mình để cột F, G, H trên form bạn điều chỉnh lại)
 

File đính kèm

Upvote 0
File bài trước còn sót chưa đánh số thứ tự, nay bổ xung
 

File đính kèm

Upvote 0
Chào Bạn sealand ,Cái Form Lọc Dữ Liệu Mới Này Thật Là Hoàn Hảo ( Từ Trước Đến Nay Mình Đã Dùng Nhiều Cái Nhưng Cái Này Mình Thấy Ưng Ý Nhất ) Sử Dụng Và Nhìn Rất Chuyên Nghiệp,Mình Rất Cảm Ơn Bạn Đã Nhiệt Tình Giúp Đỡ Và Mong Rằng Bạn Sẽ Tiếp Tục Giúp Mình Hoàn Thiện Cái Bảng Tổng Hợp Dữ Liệu Này.
Bạn sealand Thân Mến,Theo Mình Thì Cái Phần Lọc Dữ Liệu Như Thế Này Là OK,Còn Lại Hai Phần Là:
1. Phần Tạo Form Nhập Liệu ( Cái Này Mình Đã Đã Làm Được Phần Cơ Bản )
2. Phần Xuất Dữ Liệu Ra Báo Cáo ( Cái Này Mình Nghĩ Là Để Làm Sau )
Vậy Nên Mình Nhờ Bạn Giúp Tiếp Trong Phần Hoàn Thiện Cái Form Nhập Liệu Theo Điều Kiện Như Sau:
+ Có Hai Ô Để Nhập Theo Dạng Ngày / Tháng / Năm
+ Ô 19 Sẽ Là Tổng Của Các Ô Từ 1 Đến 18 Chỉ Cho Phép Nhập Bằng Số,Nếu Không Có Dữ Liệu Thì Nhập Số Không.
+ Ô Số3 Sẽ Bằng Tổng Của Ô 19 - Số1 - Số2. + Bẫy Lỗi Khi Không Nhập Dữ Liệu Vào Các Ô Có Dạng “Combo” Còn Dạng "Tex" Thì Nó Đã
Hoạt Động.
+ Đặt Mật Khẩu Cho Nút “Sửa” Và Nút “Xóa”
Bạn Cố Gắng Giúp Mình Với.Thank
 
Upvote 0
Chào Bạn sealand ,Cái Form Lọc Dữ Liệu Mới Này Thật Là Hoàn Hảo ( Từ Trước Đến Nay Mình Đã Dùng Nhiều Cái Nhưng Cái Này Mình Thấy Ưng Ý Nhất ) Sử Dụng Và Nhìn Rất Chuyên Nghiệp,Mình Rất Cảm Ơn Bạn Đã Nhiệt Tình Giúp Đỡ Và Mong Rằng Bạn Sẽ Tiếp Tục Giúp Mình Hoàn Thiện Cái Bảng Tổng Hợp Dữ Liệu Này.
Bạn sealand Thân Mến,Theo Mình Thì Cái Phần Lọc Dữ Liệu Như Thế Này Là OK,Còn Lại Hai Phần Là:
1. Phần Tạo Form Nhập Liệu ( Cái Này Mình Đã Đã Làm Được Phần Cơ Bản )
2. Phần Xuất Dữ Liệu Ra Báo Cáo ( Cái Này Mình Nghĩ Là Để Làm Sau )
Vậy Nên Mình Nhờ Bạn Giúp Tiếp Trong Phần Hoàn Thiện Cái Form Nhập Liệu Theo Điều Kiện Như Sau:
+ Có Hai Ô Để Nhập Theo Dạng Ngày / Tháng / Năm
+ Ô 19 Sẽ Là Tổng Của Các Ô Từ 1 Đến 18 Chỉ Cho Phép Nhập Bằng Số,Nếu Không Có Dữ Liệu Thì Nhập Số Không.
+ Ô Số3 Sẽ Bằng Tổng Của Ô 19 - Số1 - Số2. + Bẫy Lỗi Khi Không Nhập Dữ Liệu Vào Các Ô Có Dạng “Combo” Còn Dạng "Tex" Thì Nó Đã
Hoạt Động.
+ Đặt Mật Khẩu Cho Nút “Sửa” Và Nút “Xóa”
Bạn Cố Gắng Giúp Mình Với.Thank
 
Upvote 0
Lại rớt mất file rồi bạn ơi, bạn upload lại đi vì mai là ngày nghỉ mình tranh thủ xem cho bạn thì tiện hơn.
Trời! Khổ bạn thật, ai lại lên mạng lúc 3h 30' sáng cơ chứ.
 
Upvote 0
Mình Đã UpLoad File Lên Được Rồi. Cảm Ơn Bạn Đã Nhiệt Tình Giúp Đỡ.
 

File đính kèm

Upvote 0
Mình xem form thấy bạn bố trí quá bất hợp lý, đất Hà Nội, Sài Gòn thiết kế kiểu này chắc chủ nhà bán xới. Nếu là mình chắc với từng ấy thôi thì khỏi cần Multi_Pages.
-Mình không đọc được Label nhưng thực sự thấy bạn load lung tung (Mình đánh dấu cột A đến cột cuối khi hiển thị chả theo một quy luật nào cả)
-Có mỗi 1 sheet mà bạn có vài cái Combo không hiểu bạn lấy nguồn ở đâu để nạp danh sách. Nếu không có thì cứ để tất cả là TextBox đi cho tiện sử lý (Code sẽ ngắn nhiều lắm đấy)
-Mình sơ bộ điều chỉnh Form bạn xem lại có đúng là bạn load sai dữ liệu không. Nếu có thể bạn chuyển sang Tiếng Việt. Khi nào xong bạn chuyển qua Tiếng Lào mấy cái label và tiêu đề cột chắc không có vấn đề gì?
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Mình Đang Chuyển Các Tiêu Đề Của Từng Ô Sang Tiếng Việt,Nhưng Chắc Phải Tầm 12 Giờ Đêm Mới upload Lên Được,Mấy Hôm Nay Không Biết Sao Mạng
Nó Chậm Kinh Khủng Mình Dùng Cả Phần Mềm Tăng Tốc Internet Mà Cũng Chỉ Được 3 Đến 4 Kb,Trừ Khi Down Về Thì Nó Lên Đến 18 kb "dùng PM Hỗ Trợ Download"
Về Vấn Đề Form Nó Có Các Điều Kiện:
1. Những Cái Combo Là Rất Cần Thiết Vì Nó Là Các Ô Phục Vụ Cho Khi Lọc Dữ Liệu,Nên Dữ Liệu Nhập Vào Phải Theo Danh Sách Quy Định Sẵn Thì Lúc Lọc Mới Cho
Kết Quả Đúng Được. Phần Danh Sách Xổ Xuống Của Từng Combo Mình Sẽ Bổ Sung Sau.
2. Đặt Mật Khẩu Cho Hai Nút "Sửa" Và "Xoá" Để Đề Phòng Nhân Viên Tự Ý Sửa Dữ Liệu Đã Nhập.
Cảm Ơn Bạn Nhiều.
 
Upvote 0
1/Mình đã bố trí Pass.
2/Đã xếp Tab
3/Đã hiệu chỉnh các ô
4/Đã định dạng ô số và tính toán
 

File đính kèm

Upvote 0
chào bạn,sáng nay mình đã down về và có xem qua thấy chạy OK,mình rất mừng và biết ơn bạn đã nhiệt tình giúp đỡ.mình định gửi tiếp cái bảng báo cáo và bảng in để bạn xem và tư vấn thiết kế giúp mình,nhưng vì mình có việc phải sang đông hà,quảng trị,vài ngày nên không gửi cho bạn được,hẹn bạn tuần tới chúng ta lại gặp nhau và nhờ bạn giúp mình hoàn thiện cái form để đưa vào sử dụng trong tháng 10/2010 này.nhân dịp sang việt nam mình định gửi quà cho bạn nhưng không biết cái số điện thoại nằm ở dưới chữ ký của bạn có còn sử dụng không ?
 
Upvote 0
Chào Bạn sealand Và Các Bạn,Hơn Chục Hôm Không Vào Diễn Đàn Nhớ Anh Em Quá...
 
Upvote 0
Xin chào KhamHa, thật vui thấy bạn trở lại.
Mình gửi lên bài đã hứa sẽ làm trước chuyến công tác của bạn. Bạn xem và có gì ta thông tin sau nhé. (Do hạn chế về ngôn ngữ nên bạn nhập cho khoảng chục dòng dữ liệu chuẩn để còn sử lý)
 

File đính kèm

Upvote 0
Không Hiểu Sao Mình Mở Form Nhập Liệu Không Được,Bạn Cho Mình Hỏi:
Làm Theo Cách Mới Này Nó Có Lọc Dữ Liệu Theo Kiểu Cũ Được Không?
Cảm Ơn Bạn.
 
Upvote 0
Chắc là mình thêm cái Carlenda nên nó vậy thôi, KhanHa làm như sau nhé

Trong cửa sổ thiết kế Form vào Menu Tools-->Chọn Additonal Controls...
Trong cửa sổ hiện ra tìm trong danh sách và đánh dấu vào ô kiểm dòng Calendar Control 11.0 rồi OK và lưu lại

Nếu vẫn không đươc hoăc không có thì bạn tải file mình gửi kèm về giải nén ra sau đó:
1/Chép file mscomct2.ocx vào thư mục C:\WINDOWS\System32\
2/Chạy file Caidat.bat

Còn việc lọc như bài trước thì mình ghép vào thôi
 

File đính kèm

Upvote 0
Chào Bạn sealand,Mình Đã Sửa Và Vào Form Được Rồi,Nhưng Vì Cái Màn Hình Của Mình Chỉ Có 15 inh Nên Không Hiện Nên Hết
Được,Mình VàoSửa Rồi Mà Không Được Với Lại Mình Không Biết Bạn Đặt Mật Khẩu Là Gì.
Bạn Cố Gắng Giúp Sửa Lại Cho Nó Vừa Với Màn Hình Của Mình Với Và Cả Cái Mật Khẩu Nữa.
Mình Thấy Cái Form Bạn Mới Làm Này Hay Thật...Cảm Ơn Bạn Nhiều.Mấy Hôm Nay Mình Đang Bận Tổng Kết Cuối Năm Nên ít Vào
Diễn Đàn.Nếu Chúng Mình Hoàn Thiện Được Sớm Và Đưa Vào Sử Dụng Trong Năm Mới ( Tháng 10 / 2010 ) Thì Hay Quá.
 
Upvote 0
1/Mình quên mất cái vụ Pass thêm, sửa: khamha,sealand (Thự chất nó là cái Const ở đầu Code đó, sau này bạn đổi nó đi. Các MK cách nhau bởi ";")
2/Mình cũng dùng laptop 15 inc vẫn hiển thị tốt mà. Bạn để độ phân giải như sau xem sao : 1280 by 800 pixels
3/Bạn lưu ý các tiêu đề cột chính là các Label. Muốn sửa Label chỉ việc sửa tiêu đề cột.
Bạn đừng vội vàng nghĩ chuyện đưa vào sử dụng. Trước hết hoàn thiện phần cập nhật quản trị dữ liệu. Tiếp theo, lập các báo cáo hoàn chỉnh theo yêu cầu của mình và cuối cùng test kỹ đã. Như vậy, mới đảm bảo được.
 
Lần chỉnh sửa cuối:
Upvote 0
Mình Đã Sửa Lại Cho Vừa Màn Hình Của Mình Và Ghi Dữ Liệu Vào.Mình Có Ý Kiến Như Sau:
1, Về Phần Mật Khẩu Nên Có Hai Cái:Một Cái Để Nhân Viên Nhập Dữ Liệu Và Một Cái Dành Cho Thủ Trưởng Sửa Hoặc Xoá Dữ Liệu.
2, Số Thứ Tự Hệ Thống Sẽ Tự Động Điền Bắt Đầu Từ 1...100...1000...
3, Bẫy Lỗi Không Nhập Dữ Liệu Đầy Đủ ( Phần Điền Số Phải Bắt Buộc Điền Số Hoặc Số Không )
Bạn Cố Gắng Giúp Mình Nha.Cảm Ơn Bạn Nhiều.
 

File đính kèm

Upvote 0
Mình đã chuyển Pass sang Form đăng nhập để kiểm soát mật khẩu và phân quyền cho người dùng. Hiện các sheet để khảo sát khi hoàn tất ta sẽ dấu hết.
 

File đính kèm

Upvote 0
Mình đã chuyển Pass sang Form đăng nhập để kiểm soát mật khẩu và phân quyền cho người dùng. Hiện các sheet để khảo sát khi hoàn tất ta sẽ dấu hết.

Anh ơi, sao khi chọn các mục đăng nhập để vào trong thì nó vẫn báo lỗi vậy anh?
(Lỗi như hình dưới)
022222222.JPG
 
Upvote 0
Hàm Ucase() là hàm của VB. Trong khi lỗi như vậy thì máy của em có thể thiếu thư viện này hoặc thư viện có vấn đề rồi. Em bổ xung trong References xem sao nhé.
 
Lần chỉnh sửa cuối:
Upvote 0
Hàm Ucase() là hàm của VB. Trong khi lỗi như vậy thì máy của em có thể thiếu thư viện này hoặc thư viện có vấn đề rồi. Em bổ xung trong Refences xem sao nhé.

Vâng. Cũng nhân tiện nói về mảng này, em cũng có ví dụ này nhờ anh sealand xem dùm em luôn nhé! Link ở đây
 
Upvote 0
Mình Không Ngờ Cái Excel Nó Lại Hỗ Trợ Để Làm Được Như Thế Này, Nhìn Chẳng Khác Gì Phần Mềm.
Bạn Sealand Thân Mến, Bạn Giúp Mình Thêm Cái Này Với: Mình Muốn Biết Phiếu Nào Là Do Nhân Viên Nào Làm ( Lúc Đầu Mình Cũng Không Muốn Hỏi Sợ Bạn Lại Trách Là Không Đưa Ra Ý Tưởng Từ Đầu, Nhưng Thấy Cái Form Bạn Sửa, Lại Lảy Ra Cái Ý Muốn Kiểm Soát Người Nhập Phiếu, Bạn Thông Cảm Cho Mình Nha )
Bạn Sealand Ơi,Xong Bước Này Chúng Ta Làm Tiếp Cái Nào?
Cảm Ơn Bạn
 
Upvote 0
Thêm 2 hoặc 4 cột là ta có đủ thông tin người nhập và người sửa cuối cùng vào lúc nào.
Tiếp theo là sổ sách, báo cáo là cái cần nhất đó.
 
Upvote 0
Vâng,Mình Sẽ Dịch Phiếu Thu, Bản Báo Cáo Sang Tiếng Việt Để Bạn Xem Và Giúp Mình Đưa Ra Giải Pháp Tốt Nhất. Cảm Ơn Bạn
 
Upvote 0
Cột 52 sẽ lưu toàn bộ lịch sử chứng từ, bao gồm người sửa và ngày giờ sửa. (Người đầu tiên là người tạo, còn lại là người sửa)
Căn cứ mỗi lần nhấn Save thì đồng thời cũng bổ xung thông tin này
Từ bài này, nếu sửa file thì cũng đổi Version để tiện theo dõi
 

File đính kèm

Upvote 0
Mình Đã Dịch Phiếu Và BáoCáo Sang Tiếng Việt,Nhờ Bạn Xem Và Thiết Kế Giúp Mình.Cảm Ơn Bạn
 

File đính kèm

Upvote 0
Bạn Sealand Thân Mến,Trong Khi Xem Lại Form Mình Thấy Có Một Vấn Đề Phát Sinh Thêm Là:
1. Chúng Ta Phải Bỏ Phần Nợ Thuế Vì Theo Nguyên Tắc Của Luật Thuế Nếu Có Trường Hợp Nợ Thuế Thì Sẽ Phải Làm Một Biên Bản Khác Và Phải Qua
Xác Nhận Của Tòa Án ( Trong Tờ Khai Thuế Và Biên Bản Ghi Nhận Chỉ Cho Phép Được Miễn Hoặc Trừ Thuế Đã Nộp Trước )
2. Trong Form Mình Phải Thêm Trong Phần Miễn Trừ Thuế Và Thuế Nộp Thực Tế ( Thêm Tất Cả Các Loại Thuế Thì Mới Biết Được Là Đã Miễn Trừ Loại Thuế Nào
Và Nộp Thực Tế Loại Thuế Nào )

Bạn Giúp Mình Sửa Lại Vấn Đề Này Với ,Nếu Dài Quá Thì Bạn Làm Hai Trang Vì Nếu Thay Đổi Kích Thước Của Form Thì Nó Sẽ Không Vừa Với Màn Hình Máy Tính Của Phòng.
Cảm Ơn Bạn
 
Upvote 0
Mình Đã Sửa Cái Form,Bạn Xem,Sửa Và Đưa Code Vào Cho Mình Với.
Cảm Ơn Bạn.
 

File đính kèm

Upvote 0
Mình Đã Dịch Phiếu Và BáoCáo Sang Tiếng Việt,Nhờ Bạn Xem Và Thiết Kế Giúp Mình.Cảm Ơn Bạn
Chào Bạn Sealand,Không Biết Cái Bản Báo Cáo Và Phiếu Mà Mình Đã Dịch Sang Tiếng Việt Có Vấn Đề Gì Không ?Vì Mình Thấy Trong
Phiếu Nó Có Phần Chi Tiết Về Miễn,Trừ Thuế Còn Trong Form Thì Không Có.
Cảm Ơn Bạn Đã Giúp Đỡ.
 
Upvote 0
Banj cứ nghiên cứu thiết kế thật chuẩn các sheet dữ liệu và báo cáo đi, sau đó sửa 1 thể tránh sửa đi sửa lại vừa tốn công mà lại tiềm ẩn lỗi vì sửa không hết các trường hợp liên quan. Trên Sheet data cũng phải thiết kế cho thật chuẩn tránh các cột thừa ví dụ như những ô tính toán chẳng hạn
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn Sealand Thân mến,Mình Đã Sửa Lại Toàn Bộ Bạn Kiểm Tra Và Làm Giúp Mình Với.
Cảm Ơn Bạn
 

File đính kèm

Upvote 0
Bạn Sealand Thân mến,Mình Đã Sửa Lại Toàn Bộ Bạn Kiểm Tra Và Làm Giúp Mình Với.
Cảm Ơn Bạn

Chào bạn Sealand ,bạn cho mình hỏi cái form + phiếu + báo cáo mà mình đã sửa lại nội dung có vấn đề gì không?
Cảm ơn bạn đã giúp đỡ mình trong thời gian qua.
 
Upvote 0
Chào bạn Khăm Ha...
Thành thật mà nói, tôi thấy khâm phục khả năng tiếng Việt và niềm đam mê của bạn.
Tôi đã nghiên cứu khá kỹ bài của bạn và thấy rằng, bạn nên thiết kế thành một ứng dụng Access thì sẽ dễ quản lý số liệu cũng như in báo cáo cùng các thao tác khác nữa.
Tất nhiên, chuyển sang một ứng dụng mới chắc là khó. Tôi tạm thiết kế một Cơ sở dữ liệu có hỗ trợ song ngữ Việt-Lào với một số ý tưởng như trong file Excel của bạn.
Bạn xem qua nhé, nếu có thể được, ta cùng nhau làm một cơ sở dữ liệu theo yêu cầu quản trị như của bạn.
Ngoài ra, nếu chuyển sang Cơ sở dữ liệu Access, có lẽ bạn cần làm rõ thiết kế các bảng biểu (một số bảng như trong ví dụ tôi gửi kèm có thể tham khảo được).
Nay kính thư.
 

File đính kèm

Upvote 0
Chào bạn Khăm Ha...
Thành thật mà nói, tôi thấy khâm phục khả năng tiếng Việt và niềm đam mê của bạn.
Tôi đã nghiên cứu khá kỹ bài của bạn và thấy rằng, bạn nên thiết kế thành một ứng dụng Access thì sẽ dễ quản lý số liệu cũng như in báo cáo cùng các thao tác khác nữa.
Tất nhiên, chuyển sang một ứng dụng mới chắc là khó. Tôi tạm thiết kế một Cơ sở dữ liệu có hỗ trợ song ngữ Việt-Lào với một số ý tưởng như trong file Excel của bạn.
Bạn xem qua nhé, nếu có thể được, ta cùng nhau làm một cơ sở dữ liệu theo yêu cầu quản trị như của bạn.
Ngoài ra, nếu chuyển sang Cơ sở dữ liệu Access, có lẽ bạn cần làm rõ thiết kế các bảng biểu (một số bảng như trong ví dụ tôi gửi kèm có thể tham khảo được).
Nay kính thư.
Chào bạn,trước hết cho mình cảm ơn ý tốt của bạn đã gợi ý và không ngại giúp đỡ mình.
Như bạn đã nói,nếu bây giờ mà chuyển sang làm bằng Access thì chắc không ổn,vì trình độ office của mình rất kém,mấy tháng trước mình cũng tự mày mò bằng cách
mua tài liệu hướng dẫn cả của việt lẫn của thái về nghiên cứu nhưng không được vì cái cơ sở dữ liệu thuế của mình nó phức tạp quá "nếu làm theo đúng nguyên tắc
của tổng cục thuế đưa ra thì trong một lần báo cáo nó có tất cả 8 kiểu" mỗi kiểu lại phải lọc dữ liệu theo một cách khác nhau.nên mình phải bỏ cuộc.
Hiện giờ mình đang nhờ các bạn làm giúp mình cái form nhập liệu bằng Excel để theo dõi tờ khai thuế và biên bản ghi nhận nộp thuế,còn những cái khác chắc phải làm thủ côngthôi.Còn về vấn đề Access thì mình sẽ từ từ làm quen khi nào có thể chắc mình sẽ nhờ bạn giúp.
Cảm ơn bạn.
 
Upvote 0
Về vấn đề báo cáo, thực ra, điều đó không khó, chỉ cần bạn viết rõ yêu cầu nghiệp vụ (cần hiển thị cái gì, tần suất, vị trí ...vv) hoặc đơn giản bạn vẽ lại hình báo cáo rồi chỉ dẫn bằng tiếng Việt, tôi nghĩ là có thể làm được.
Lúc nào bạn có kế hoạch đi quảng trị thì thông báo sớm, có khi ta gặp nhau ở Đông Hà được không chừng!
 
Upvote 0
Bọn mình dân Kế toán, hàng tháng vào kỳ thuế bận 1 chút nên lui lại vài bữa nha.
Nhưng mình cũng nhắc lại là bạn nên quy hoạch lại các bảng nhập phát sinh. Cơ bản ta không xem và báo cáo trực tiếp từ đây mà chỉ là nguồn lập báo cáo. Vậy nên, tất cả các định dang hay cột không cần thì loại bỏ cho gọn và dễ sử lý. Hiện nay 1 bảng dữ liệu có đế hơn 50 trường dữ liệu như bạn thì cũng ít gặp.
 
Upvote 0
Gửi bạn sealand

Mình có sửa lại Form Nhập liệu,nhưng không biết nó bị lỗi chỗ nào mà Save Không được,Nhờ bạn kiểm tra và sửa cho mình với,bạn
viết Code trừ:
Tổng số tiền nộp thực tế = Tổng thuế - tổng miễn,trừ thuế ,cho mình luôn nha.
Cảm ơn bạn
 

File đính kèm

Upvote 0
Banj xoá mất tiêu nút Save thì Save vào đâu?
Bạn nên tham khảo tạo File mới chứ sửa thế này code rác rất nhiều và không kiểm soát hết lỗi đâu
 
Upvote 0
Banj xoá mất tiêu nút Save thì Save vào đâu?
Bạn nên tham khảo tạo File mới chứ sửa thế này code rác rất nhiều và không kiểm soát hết lỗi đâu

Cái nút save nó nằm ở bên trang hai,khi bấm save nó báo lỗi:
HS.Cells(Me.Ctr_dg, i) = Me.Controls("Ctr" & Right("00" & i, 2))
 
Upvote 0
Khi lỗi bạn nhấn nút Debug và bạn rê chuột trên biến i xem khi lỗi i=??? Từ đó bạn sẽ biết bạn dã xóa mất Ctr nào trên Form nhưng code vẫn gọi nên bị lỗi.
 
Upvote 0
Bạn sealand thân mến,mình đã sửa và hiện giờ nó hoạt động được rồi,cảm ơn bạn nhiều.
hiện còn thiếu cái code bẫy lỗi để trống dữ liệu,bạn giúp mình với.
 
Upvote 0
Bạn sealand và bạn khamha giúp mình chuyện này với. Mình có 1 file excel sheet 1- sheet 5, mình đã tạo file vba cho sheet 1 và chay ngon lành rồi, mình đang qua sheet 2 làm tương tự mà bấm run macro nó kg run. Mình không biết lí do làm sao cả, bạn giúp mình với.
 

File đính kèm

Upvote 0
Mình sử dụng Excel 2003 nên không mở file của bạn được
 
Upvote 0
Bạn sealand và bạn khamha giúp mình chuyện này với. Mình có 1 file excel sheet 1- sheet 5, mình đã tạo file vba cho sheet 1 và chay ngon lành rồi, mình đang qua sheet 2 làm tương tự mà bấm run macro nó kg run. Mình không biết lí do làm sao cả, bạn giúp mình với.
Code ở sh nào nên đặt đúng sh. Bạn cần chạy code ở Sh Todeschini Model mà lại đặt code ờ sheet2 nên nó chưa chạy. Và xem lại i hay i2 ở câu
For i2 = 0.001 To c2 Step 0.02
Range("B15").Value = i2
 
Upvote 0
Chào bạn sealand,Theo mình thì cái form nhập liệu bạn sửa như vậy là tạm ổn rồi " Chỉ còn thiếu cái bẫy lỗi dữ liệu khi để trống "
Bước tiếp theo nhờ bạn sửa lại cho mình cái Form lọc dữ liệu để nó lọc được từ Sheet Main với.
Cảm ơn bạn
 
Upvote 0
Chào bạn Sea

Bạn giúp mình sửa lại cái Form lọc dữ liệu để nó có thể lọc một lúc vào hai Sheet,Ý của mình như sau:
1. trong Form lọc có 3 phần là:
+ lọc từ tháng đến tháng cái này lọc vào bảng "TuDauNam"
+ lọc tháng cái này lọc vào bảng "TrongThang"
+ lọc cột "F" , "G" , "H" cái này lọc vào hai bảng "TuDauNam" và "TrongThang"
Bạn cố gắng giúp mình với,Cảm ơn bạn
 

File đính kèm

Upvote 0
Bạn SeaLand ơi,Ý của mình là lọc một lần nó ra hai bảng,tức là mình có thể chọn được tất cả các TextBox trong Form lọc.
Vídụ:Mình chọn trong Form lọc là:
Lọc Khoảng Tháng
+ ô từ tháng: 201005
+ ô đến tháng: 201009
Lọc Trong Tháng
+ ô tháng: 201010
Lọc Điều Kiện Khác
+ ô chọn cột F: A
+ ô chọn cột G: E
+ ô chọn cột H: X
Kết quả lọc sẽ là:
1, trong bảng "TuDauNam" sẽ có dữ liệu từ tháng 201005 đến 201009 Và cột "F" là A ;cột "G" là E ; cột "H" là X
2, trong bảng "TrongTháng" sẽ có dữ liệu của tháng 201010 Và cột "F" là A ;cột "G" là E ; cột "H" là X
Bạn sửa lại cho mình nha,Cảm ơn bạn
 
Upvote 0
Mình đã sửa lại theo ý bạn
 

File đính kèm

Upvote 0
Đúng ý mình rồi bạn Sealand ơi,Cảm ơn bạn nhiều.
 
Upvote 0
Nhờ Sửa Code trừ trong Form

Chào bạn SeaLand,Mình có áp dụng cái form của bạn đã làm giúp mình đợt trước để làm form theo
dõi các việc khác,nói chung là nó chạy rất tốt,mình rất cảm ơn bạn.
tuy vậy,mình vẫn gặp khó khăn nếu trong form có phép trừ,không hiểu tại sao nó bị lỗi ở định dạng
số,ví dụ: 45,000 - 132 = -87 .mình sửa mãi rồi mà không được.
mình đưa file lên nhờ bạn sửa giúp và giúp giải thích cho mình biết là nó bị lỗi gì,cách sửa như thế nào
Cảm ơn bạn nhiều.
 

File đính kèm

Upvote 0
Chào bạn SeaLand,Mình có áp dụng cái form của bạn đã làm giúp mình đợt trước để làm form theo
dõi các việc khác,nói chung là nó chạy rất tốt,mình rất cảm ơn bạn.
tuy vậy,mình vẫn gặp khó khăn nếu trong form có phép trừ,không hiểu tại sao nó bị lỗi ở định dạng
số,ví dụ: 45,000 - 132 = -87 .mình sửa mãi rồi mà không được.
mình đưa file lên nhờ bạn sửa giúp và giúp giải thích cho mình biết là nó bị lỗi gì,cách sửa như thế nào
Cảm ơn bạn nhiều.

Bạn chỉnh lại định dạng của TextBox từ dấu phẩy (,) sang dấu chấm (.) thử nhé
 
Upvote 0
Bạn chỉnh lại định dạng của TextBox từ dấu phẩy (,) sang dấu chấm (.) thử nhé

Không phải định dạng lại đâu, chép hàm dưới đây vào module nhé:

PHP:
Public Function TachSo(ch As String)
  On Error Resume Next
  TachSo = Val(Trim(Replace(ch, ",", "")))
End Function

Cách dùng: TachSo(Textbox1) hoặc TachSo(45,000) sẽ cho ra giá trị 45000
 
Upvote 0
Không phải định dạng lại đâu, chép hàm dưới đây vào module nhé:

PHP:
Public Function TachSo(ch As String)
  On Error Resume Next
  TachSo = Val(Trim(Replace(ch, ",", "")))
End Function

Cách dùng: TachSo(Textbox1) hoặc TachSo(45,000) sẽ cho ra giá trị 45000
Mình không xem được code vì lổi thiếu cái gì gì đó... Nhưng mình đoán địng dạng máy bạn ấy theo kiểu #.###,## nhưng trong code định dạng cho TextBox là format(TextBox,"#,###.##") nên nó không ra kết quả đúng
 
Upvote 0
Mình không xem được code vì lổi thiếu cái gì gì đó... Nhưng mình đoán địng dạng máy bạn ấy theo kiểu #.###,## nhưng trong code định dạng cho TextBox là format(TextBox,"#,###.##") nên nó không ra kết quả đúng

Không, phải đâu Domfootwear ơi, chỉ có trong form mới bị vậy,
vì 45,000 nếu không tách dấu phẩy (,) thì nó sẽ hiểu là 45 mà 45 - 132 = -87 là đúng rồi.
 
Upvote 0
Không, phải đâu Domfootwear ơi, chỉ có trong form mới bị vậy,
vì 45,000 nếu không tách dấu phẩy (,) thì nó sẽ hiểu là 45 mà 45 - 132 = -87 là đúng rồi.
Dĩ nhiên là thế rồi, bạn thử điều chỉnh lại trên máy bạn theo như tôi đề cập trên bài viết số #77 thử nhé, nếu máy bạn định dạng là #,###.## thì chỉnh format của TextBox thành #.###,## thử nhé.
 
Upvote 0
Dĩ nhiên là thế rồi, bạn thử điều chỉnh lại trên máy bạn theo như tôi đề cập trên bài viết số #77 thử nhé, nếu máy bạn định dạng là #,###.## thì chỉnh format của TextBox thành #.###,## thử nhé.

Đúng như Dom nói, nhưng trong trường hợp này, bạn khamha ví dụ: 45,000 - 132 = -87

Nhìn vào số là biết định dạng #,##0 rồi còn gì. Bệnh đâu thì sửa đó thôi mà!

À đây, một phần code định dạng trong Textbox trong Form đó đây:

PHP:
Private Sub Ctr06_AfterUpdate()
Ctr06 = Format(Val(Format(Ctr06, "0")), "#,##0")
cong
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Đúng như Dom nói, nhưng trong trường hợp này, bạn khamha ví dụ: 45,000 - 132 = -87

Nhìn vào số là biết định dạng #,##0 rồi còn gì. Bệnh đâu thì sửa đó thôi mà!

À đây, một phần code định dạng trong Textbox trong Form đó đây:

PHP:
Private Sub Ctr06_AfterUpdate()
Ctr06 = Format(Val(Format(Ctr06, "0")), "#,##0")
cong
End Sub

Vậy bạn Khamha nên chỉnh cái đoạn trên dấu Phẩy sang chấm cho phù hợp định dạng máy của bạn là được.

Mã:
Ctr06 = Format(Val(Format(Ctr06, "0")), "#.##0")
 
Upvote 0
Vậy bạn Khamha nên chỉnh cái đoạn trên dấu Phẩy sang chấm cho phù hợp định dạng máy của bạn là được.

Mã:
Ctr06 = Format(Val(Format(Ctr06, "0")), "#.##0")


Trời, hỏng có được đâu à nha, nếu sửa lại như vậy là tiêu luôn đấy, bởi từ số 45000 mà chuyển thành 45.000 thì đương nhiên là ra 45 rồi đấy nhé! thà không định dạng gì hết thì OK
 
Upvote 0
Trời, hỏng có được đâu à nha, nếu sửa lại như vậy là tiêu luôn đấy, bởi từ số 45000 mà chuyển thành 45.000 thì đương nhiên là ra 45 rồi đấy nhé! thà không định dạng gì hết thì OK
Thì định dạng máy bạn ấy là #.###,## thì có gì đâu mà tiêu vậy bạn. Nó phù hợp chứ.
 
Upvote 0
Thì định dạng máy bạn ấy là #.###,## thì có gì đâu mà tiêu vậy bạn. Nó phù hợp chứ.

Nếu là vậy thì đâu nói gì, tại cái File đó được bác Sealand định dạng như thế để cho giao diện thấy rõ ràng. Nếu tính toán trên form đó luôn và tham chiếu giá trị tại những Textbox được định dạng đó, thì phải dùng hàm tách dấu phẩy (,) ra là được rồi mà. Không phải định dạng trong Control Panel lại đâu, bạn này hình như là người LÀO nên máy sẽ có định dạng chuẩn quốc tế, mình nghĩ là vậy.
 
Upvote 0
Mình thử chỉnh như các bạn hướng dẫn rồi sao vẫn không được,không biết các bạn đã thử sửa trên máy của các bạn chưa?
 
Upvote 0
Mình thử chỉnh như các bạn hướng dẫn rồi sao vẫn không được,không biết các bạn đã thử sửa trên máy của các bạn chưa?
Bạn không cần chỉnh gì cả, cứ để ngày giờ hệ thống chuẩn đi, vì code của Anh Sealand định dạng cho bạn như vậy thì bạn cứ chép Hàm TachSo của mình vào sử dụng là êm thôi.

http://www.giaiphapexcel.com/forum/...-Về-Code-Trong-USer-Form&p=274477#post274477

Sau khi làm chép Hàm đó vào Module, bạn sửa code trong Form lại như vầy:

PHP:
Sub cong()
Dim i, Tong As Double
For i = 10 To 26
Tong = Tong + Val(Format(Me.Controls("Ctr" & Right("00" & i, 2)), "0"))
Next
Ctr29 = Format(Tong, "#,##0")
Ctr30 = TachSo(Ctr06) - TachSo(Ctr29)
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Để File có tính tuỳ biến cao hơn, khi chép và xem trên các máy có sử dụng định dạng dấu thập phân khác nhau ta làm như sau:
1/ Thêm 1 hàm vào phần Code của Form hay trong Module đầu được:

Mã:
Function St_Num(n As Integer) As String
Dim Ch1 As String, Ch2 As String
Ch1 = Application.DecimalSeparator
Ch2 = Application.ThousandsSeparator
St_Num = "#" & Ch2 & "##0" & IIf(n > 0, Ch1 & String(n, "0"), "")
End Function

2/Dùng Find và Replace để thay các đoạn Style định dạng như "#,##0" bằng St_Num

Ví dụ:

Ctr06 = Format(Val(Format(Ctr06, "0")), "#,##0") <----> Ctr06 = Format(Val(Format(Ctr06, "0")), St_Num(0))
Ctr06 = Format(Val(Format(Ctr06, "0")), "#,##0.00") <----> Ctr06 = Format(Val(Format(Ctr06, "0")), St_Num(2))

Như vậy, sẽ vô tư trong các điều kiện thiết lập khác nhau của Control Parnel
 
Upvote 0
Nhờ chuyển từ ComboBox Sang ô trong bảng tính

Chào bạn SeaLand Và các bạn,Mình có thay cách lọc dữ liệu từ Form sang bảng tính (Bảng Báocáo) bằng cách tạo ComboBox
trực tiếp trên bảng,Vì lý do: để tiện cho việc theo dõi mình lọc những vẫn đề gì,mình thấy nó lọc rất tốt.
Sau khi làm xong mình mới phát hiện ra rằng Font Lào không hiện thị được trong ComboBox ,khi mình sử dụng nó trực tiếp trên
bảng tính " mình đã sử dụng Font Unicode" . trong Sheet"Báocáo" có ảnh minh họa lỗi.
Nên mình đưa file lên nhờ bạn sửa lại để cho nó hiện thị chữ lào được bằng cách:
Thay các ComboBox thành các ô trong bảng tính như sau:
+ Cb_tu = ô C2 trong Sheet"Báocáo"
+ Cb_den = ô C3 trong Sheet"Báocáo"
+ ComboBox1 = ô C4 trong Sheet"Báocáo"
+ Cb_F = ô D4 trong Sheet"Báocáo"
+ Cb_G = ô E4 trong Sheet"Báocáo"
+ Cb_H = ô F4 trong Sheet"Báocáo"
Cảm ơn bạn nhiều.
́* Còn một vấn đề nữa nhờ bạn sửa là: Không cho Chuyển Sheet (Khi bấm nút "Loc" tại Sheet"Báocáo" thì nó tự động chuyển sang Sheet"Tudaunam")
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Mình đã sửa lại theo ý bạn

Bạn Sealand ơi,Cái form lọc này lại có vấn đề rồi,Có vấn đề ở chỗ:
Khi ta chọn lọc tất cả các nội dung trong form lọc thì kết quả của nó ra như sau:
+ trong Sheet"Tudaunam" thì nó lọc đầy đủ theo nội dung đã chọn ở form "kể cả cột F,G và H"
+ trong Sheet"trongthang"thì nó chỉ lọc tháng và năm mà mình đã chọn,còn nội dung ở cột "F,G Và H" thì nó không lọc.
Nhờ bạn kiểm tra lại và sửa cho mình với,Còn về vấn đề chuyển ConboBox sang ô trong bảng tính thì mình đã tìm ra giải pháp rồi.
Cảm ơn bạn.
 
Upvote 0
Từ đầu đến giờ đã có rất nhiều file mẫu, vậy bạn phải gửi file lỗi đó lên hoặc chỉ dẫn đến bài nào thì mình mới kiểm tra được
Có phải bạn định nói tới file bài #72 không? Ban chép code sau vào nhé

Mã:
Private Sub CommandButton1_Click()
Dim tng, dng
  Dim Rng As Range
  Sheet3.[A7:BB65536].ClearContents
  Sheet4.[A7:BB65536].ClearContents
    With HS
      On Error GoTo thoat
  .Range("A3:BB" & HS.[a65536].End(xlUp).Row).AutoFilter Field:=2, _
   Criteria1:=">=" & IIf(Me.Cb_tu = "", Cb_tu.List(0), Cb_tu), Operator:=xlAnd, _
   Criteria2:="<=" & IIf(Cb_den = "", Cb_den.List(Cb_den.ListCount - 1), Cb_den)
   If Cb_F <> "" Then .Range("A3:BB" & HS.[a65536].End(xlUp).Row).AutoFilter Field:=6, Criteria1:=Cb_F
   If Cb_G <> "" Then .Range("A3:BB" & HS.[a65536].End(xlUp).Row).AutoFilter Field:=7, Criteria1:=Cb_G
   If Cb_H <> "" Then .Range("A3:BB" & HS.[a65536].End(xlUp).Row).AutoFilter Field:=8, Criteria1:=Cb_H
          Set Rng = .AutoFilter.Range.Offset(1, 0).Resize(.AutoFilter.Range.Rows. _
        Count - 1).SpecialCells(xlCellTypeVisible)
      Rng.Copy Destination:=Sheet3.[B7]
     .Range("A3:BB" & HS.[a65536].End(xlUp).Row).AutoFilter
  .Range("A3:BB" & HS.[a65536].End(xlUp).Row).AutoFilter Field:=2, _
  Criteria1:="=" & IIf(Me.ComboBox1 = "", Me.ComboBox1.List(0), Me.ComboBox1)
  If Cb_F <> "" Then .Range("A3:BB" & HS.[a65536].End(xlUp).Row).AutoFilter Field:=6, Criteria1:=Cb_F
  If Cb_G <> "" Then .Range("A3:BB" & HS.[a65536].End(xlUp).Row).AutoFilter Field:=7, Criteria1:=Cb_G
  If Cb_H <> "" Then .Range("A3:BB" & HS.[a65536].End(xlUp).Row).AutoFilter Field:=8, Criteria1:=Cb_H
          Set Rng = .AutoFilter.Range.Offset(1, 0).Resize(.AutoFilter.Range.Rows. _
        Count - 1).SpecialCells(xlCellTypeVisible)
      Rng.Copy Destination:=Sheet4.[B7]
thoat:
    .Range("A3:BB" & HS.[a65536].End(xlUp).Row).AutoFilter
  End With
  If WorksheetFunction.CountA(Sheet3.[D7:D8]) > 0 Then
  With Sheet3.[A7].Resize(Sheet3.[c65536].End(xlUp).Row - 6)
  .Formula = "=row()-6"
  .Value = .Value
    End With
  End If
    If WorksheetFunction.CountA(Sheet4.[D7:D8]) > 0 Then
  With Sheet4.[A7].Resize(Sheet4.[c65536].End(xlUp).Row - 6)
  .Formula = "=row()-6"
  .Value = .Value
    End With
  End If
  Sheet3.Activate
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn SeaLand ơi,bạn hướng dẫn cách sửa code trong bài #90 để nó lọc sang hàng 33 của Sheet3 và 4 với,mình sửa mãi
mà không được " vì từ hàng 1 đến 30 mình sẽ dùng hàm SUMIF để lọc chi tiết" bạn giúp mình nha.Cảm ơn bạn
* Ghichú:không biết bạn đã nhận được tin nhắn của mình gửi cho bạn trong ngày 24 / 10 / 2010 không.
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn chú ý 1 số điểm:

...............
Sheet3.[A7:BB65536].ClearContents<--->Sheet3.[A33:BB65536].ClearContents
Sheet4.[A7:BB65536].ClearContents<--->Sheet4.[A33:BB65536].ClearContents
.........................
Rng.Copy Destination:=Sheet3.[B7]<---->Rng.Copy Destination:=Sheet3.[B33]
.........................
Rng.Copy Destination:=Sheet4.[B7]<---->Rng.Copy Destination:=Sheet4.[B33]
thoat:
.Range("A3:BB" & HS.[a65536].End(xlUp).Row).AutoFilter
End With
If WorksheetFunction.CountA(Sheet3.[D33:D34]) > 0 Then
With Sheet3.[A7].Resize(Sheet3.[c65536].End(xlUp).Row - 6)<--->With Sheet3.[A33].Resize(Sheet3.[c65536].End(xlUp).Row - 32)
.Formula = "=row()-6"<--->.Formula = "=row()-32"
.Value = .Value
End With
End If
If WorksheetFunction.CountA(Sheet4.[D33:D34]) > 0 Then
With Sheet4.[A33].Resize(Sheet4.[c65536].End(xlUp).Row - 32)
.Formula = "=row()-32"
.Value = .Value
End With
...............
 
Upvote 0
Mình sửa như bạn hướng dẫn rồi mà sao không được,bạn xem Code:
Private Sub CommandButton1_Click()
Dim tng, dng
Dim Rng As Range
Sheet3.[A33:CT65536].ClearContents
Sheet4.[A33:CT65536].ClearContents
With HS
On Error GoTo thoat
.Range("A3:CT" & HS.[a65536].End(xlUp).Row).AutoFilter Field:=2, _
Criteria1:=">=" & IIf(Me.Cb_tu = "", Cb_tu.List(0), Cb_tu), Operator:=xlAnd, _
Criteria2:="<=" & IIf(Cb_den = "", Cb_den.List(Cb_den.ListCount - 1), Cb_den)
If Cb_F <> "" Then .Range("A3:BB" & HS.[a65536].End(xlUp).Row).AutoFilter Field:=6, Criteria1:=Cb_F
If Cb_G <> "" Then .Range("A3:BB" & HS.[a65536].End(xlUp).Row).AutoFilter Field:=7, Criteria1:=Cb_G
If Cb_H <> "" Then .Range("A3:BB" & HS.[a65536].End(xlUp).Row).AutoFilter Field:=8, Criteria1:=Cb_H
Set Rng = .AutoFilter.Range.Offset(1, 0).Resize(.AutoFilter.Range.Rows. _
Count - 1).SpecialCells(xlCellTypeVisible)
Rng.Copy Destination:=Sheet3.[B33]
.Range("A3:CT" & HS.[a65536].End(xlUp).Row).AutoFilter
.Range("A3:CT" & HS.[a65536].End(xlUp).Row).AutoFilter Field:=2, _
Criteria1:="=" & IIf(Me.ComboBox1 = "", Me.ComboBox1.List(0), Me.ComboBox1)
If Cb_F <> "" Then .Range("A3:CT" & HS.[a65536].End(xlUp).Row).AutoFilter Field:=6, Criteria1:=Cb_F
If Cb_G <> "" Then .Range("A3:CT" & HS.[a65536].End(xlUp).Row).AutoFilter Field:=7, Criteria1:=Cb_G
If Cb_H <> "" Then .Range("A3:CT" & HS.[a65536].End(xlUp).Row).AutoFilter Field:=8, Criteria1:=Cb_H
Set Rng = .AutoFilter.Range.Offset(1, 0).Resize(.AutoFilter.Range.Rows. _
Count - 1).SpecialCells(xlCellTypeVisible)
Rng.Copy Destination:=Sheet4.[B33]
thoat:
.Range("A3:CT" & HS.[a65536].End(xlUp).Row).AutoFilter
End With
If WorksheetFunction.CountA(Sheet3.[D33:D34]) > 0 Then
With Sheet3.[A33].Resize(Sheet3.[c65536].End(xlUp).Row - 32)
.Formula = "=row()-32"
.Value = .Value
End With
End If
If WorksheetFunction.CountA(Sheet4.[D33:D34]) > 0 Then
With Sheet4.[A33].Resize(Sheet4.[c65536].End(xlUp).Row - 32)
.Formula = "=row()-32"
.Value = .Value
End With
End If
Sheet9.Activate
End Sub

Ở Sheet 3 Và 4 Nó bị đơ,không thể cuộn xuống được.bạn xem lại cho mình với,Cảm ơn bạn
 
Upvote 0
Bạn nói thế nào chứ , đây là chính code của bạn
 

File đính kèm

Upvote 0
Bạn SeaLand ơi,Mình hấp tấp quá,sửa như bạn hướng dẫn là đúng rồi,vì do mình dùng Split Và Freez Panes nên khi mình
Ínert dòng nó bị lỗi,Bạn thông cảm cho mình nha.Cảm ơn bạn
 
Upvote 0
Sửa Code,Không hiện dữ liệu từ bảng Data ra Form

Chào bạn SeaLand,Mình có áp dụng cái Form của bạn để làm Form theo dõi các việc khác,trong Form
mới nó có ít dữ liệu và không có phần tính toán,Khi mình làm xong thì thấy như sau:
1, Lúc nhập dữ liệu vào thì OK.
2, Không biết mình xóa nhầm đoạn Code nào mà khi mở Form ra nó không hiện nên dữ liệu mà mình ̣̣đã
nhập trước ̣đó "Khi mình kiểm tra trong bảng Data thì vẫn có Và đưa ra in bình thường.
Trước khi mình đưa lên nhờ bạn sửa giúp đã sửa rất nhiều rồi mà không được,Làm phiền bạn sửa giúp
và giải thích cho mình hiểu với.Cảm ơn bạn
 

File đính kèm

Upvote 0
1/
Sub Napdl()
....................
Me.Controls("Ctr" & Right("00" & i, 2)) = HS.Cells(j, i)
Next
Next

For i = 1 To 21
Me.Controls("Ctr" & Right("00" & i, 2)) = Format(Me.Controls("Ctr" & Right("00" & i, 2)), "#,##0")
End Sub

Sửa thành:
Sub Napdl()
....................
Me.Controls("Ctr" & Right("00" & i, 2)) = HS.Cells(j, i)
Next
For i = 1 To 21
Me.Controls("Ctr" & Right("00" & i, 2)) = Format(Me.Controls("Ctr" & Right("00" & i, 2)), "#,##0")
Next
End Sub

2/
Private Sub UserForm_Initialize()
.............................................
Naptde
Naplist
'Napdl <---------Bỏ dấu nháy
xem
End With
End Sub

3/

Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
Me.Ctr_dg = Item
Napdl <--------Thêm dòng này
End Sub
 
Upvote 0
bạn sealand ơi,sao lúc mình bấm nút NewForm mà dữ liệu cũ vẫn còn,bạn hướng dẫn mình cách sửa với ( #96 ) Cảm ơn bạn
 
Upvote 0
Bạn thay đoạn Code này vào nha

Mã:
Private Sub Cmd_Moi_Click()
Dim i
If Not P_New Then
MsgBox "you do not have more open data..." & Chr(10) _
& "contact your administrator.", , "KhamHa Keotaven"
Exit Sub
Else
sua
Me.Ctr_dg = HS.[a65536].End(xlUp).Row + 1
For i = 1 To 21
If i <> 4 Then Me.Controls("Ctr" & Right("00" & i, 2)) = ""
Next
Me.Ctr01.SetFocus
End If
End Sub
 
Upvote 0
Nhờ bạn SeaLand sửa lại cái Code cho mình với

Mình có rút gọn lại cái Form theo dõi thuế ,trong phần các loại thuế nộp và nó lại bị lỗi trong khi trừ.
bạn xem và sửa lại cho mình với.Cảm ơn bạn
 

File đính kèm

Upvote 0

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

Back
Top Bottom