Vì sao hàm Sumproduct trong excel không hoạt động, khi nhập ngày tháng bằng UserForm (1 người xem)

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

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

Blad01

Thành viên thường trực
Tham gia
6/10/07
Bài viết
350
Được thích
28
Chúc các thành viên diễn đàn một năm mới mạnh khỏe, hạnh phúc và thành công.

Trong file đính kèm em có một bảng dữ liệu được nhập từ UserForm. Phần bảng thống kê em dùng hàm Sumproduct để thống kê số liệu trong một khoảng thời gian từ bảng dữ liệu.

Hỏi: Tại sao hàm Sumproduct không hoạt động với ngày, tháng (cột A) mới được nhập từ Usreform (chỉ hoạt động nếu như click đúp chuột vào 1 ô có dữ liệu trong cột ngày nhập rồi Enter). Làm thế nào để khắc phục.

Chân thành cảm ơn.
 

File đính kèm

Cảm ơn bác befaint, em vẫn chưa hiểu được bản chất của vấn đề tại sao hàm Sumpro lại không hoạt động, đọc code bác viết em cũng chưa hiểu lắm (đang bập bẹ VBA mong bác thông cảm).
Bác có thể làm mẫu vào file đính kèm trên và giải thích nguyên nhân tại sao hàm Sumpro không hoạt động giúp em được không ạ. Chân thành cảm ơn bác
 
Upvote 0
Cảm ơn bác befaint, em vẫn chưa hiểu được bản chất của vấn đề tại sao hàm Sumpro lại không hoạt động, đọc code bác viết em cũng chưa hiểu lắm (đang bập bẹ VBA mong bác thông cảm).
Bác có thể làm mẫu vào file đính kèm trên và giải thích nguyên nhân tại sao hàm Sumpro không hoạt động giúp em được không ạ. Chân thành cảm ơn bác

https://www.giaiphapexcel.com/forum/showthread.php?121506-code-nhập-ngày-cho-đúng-định-dạng

Bạn xem cả topic chứ. Tôi chỉ gửi link cái bài có vấn đề giống như thế để bạn tham khảo.
 
Upvote 0
Cảm ơn bác befaint, em vẫn chưa hiểu được bản chất của vấn đề tại sao hàm Sumpro lại không hoạt động, đọc code bác viết em cũng chưa hiểu lắm (đang bập bẹ VBA mong bác thông cảm).
Bác có thể làm mẫu vào file đính kèm trên và giải thích nguyên nhân tại sao hàm Sumpro không hoạt động giúp em được không ạ. Chân thành cảm ơn bác

Bạn chữa cháy bằng cách này xem sao:
1/ Format cột B dạng Date + bỏ canh giữa
2/ Quy định nhập ngày vào Text box: "yyyy/mm/dd"
Nếu bạn ấn nút ghi mà dữ liệu ghi vào cột B đúng dạng Date ( tự động canh lề phải) là được.
 
Lần chỉnh sửa cuối:
Upvote 0
Cảm ơn mọi người em đã làm được rồi. Chỉ có điều nếu cho hiện ngược lên form thì nó lại định dạng theo kiểu mm/dd/yyyy, nhìn không quen lắm
 
Upvote 0
. . . Chỉ có điều nếu cho hiện ngược lên form thì nó lại định dạng theo kiểu mm/dd/yyyy, nhìn không quen lắm

Muốn nhận được dang chuỗi dd/mm/yyyy hay dd/mm/yy trên 1 TextBox nào đó thì nhở 1 hàm tự tạo chuyển cho bạn.

Ví du:

Fuction DateToString (Dat As Date) As String

. . . . .

End Function

Chúc vui!
 
Upvote 0
... tiếp theo của bài #7:
Mã:
Function DateToString(Dat As Date) As String
DateToString = Join(Array(Format(Day(Dat), "00"), Format(Month(Dat), "00"), Format(Year(Dat), "0000")), "/")
Cho textbox:
Mã:
Dim d As Date
d = Range("A1").Value
TextBox1.Text = DateToString(d)
 
Upvote 0
Tình hình là sau khi làm theo hướng dẫn, ngày tháng đã hiện thị như mong muốn trên các textbox. Tuy nhiên lại phát sinh trường hợp các textbox để nhập ngày tháng không sửa, không xóa được. Nhập một ký tự bất kỳ nó tự động hiện ngày tháng linh tinh vào textbox. Mong anh chị giúp đỡ.

Nhân tiện cho em hỏi luôn một vấn đề khác: Tại sao file excel của em kích thước nó lớn vậy ? cách khắc phục như thế nào ?

Em cảm ơn nhiều ạ.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
... tiếp theo của bài #7:
Mã:
Function DateToString(Dat As Date) As String
DateToString = [COLOR=#ff0000]Join(Array(Format(Day(Dat), "00"), Format(Month(Dat), "00"), Format(Year(Dat), "0000")), "/")[/COLOR]
Cho textbox:
Mã:
Dim d As Date
d = Range("A1").Value
TextBox1.Text = DateToString(d)
Tôi nghĩ mãi vẫn không hiểu sao lại cần cái hàm DateToString này??? Bởi cái chỗ màu đỏ trên chẳng phải tương đương với:
Mã:
Format(Dat, "dd/mm/yyyy")
hay sao?
Có nghĩa là đoạn code bên dưới
Mã:
Dim d As Date
d = Range("A1").Value
TextBox1.Text = DateToString(d)
Tôi viết thế này:
Mã:
TextBox1.Text = Format(Range"A1").Value, "dd/mm/yyyy")
Không được sao?
------------------------------------------
Nói tóm lại vấn đề liên quan đến dữ liệu ngày tháng:
- Ngày tháng nhập liệu từ TextBox, nếu muốn gán xuống sheet thì phải thông qua quá trình xử lý... mà không gì tốt hơn là dùng hàm DateSerial
- Ngày tháng có sẵn trên sheet (chuẩn date), nếu muốn gán vào TextBox thì chỉ cần thông qua hàm Format là đủ. Hàm Format này quá đơn giản đến mức cứ viết trực tiếp mà không cần phải tốn thêm 1 Function nào cả
 
Upvote 0
Web KT

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

Back
Top Bottom