Hiển thị năm trong Textbox

Liên hệ QC

doanhhoang79

Thành viên hoạt động
Tham gia
31/3/08
Bài viết
142
Được thích
18
Chào các anh chị,

Giả sử trong bảng tính Excel tôi nhập đầy đủ định dạng dd/mm/yyyy, làm sao để khi hiển thị trong Textbox nó chỉ xuất hiện năm dạng yyyy?

VD: Tôi nhập và sheet: "01/06/2009" thì trong Textbox xuất hiện "2009"
"01/06/2007" thì xuất hiện "2007"

Nghĩa là nó chỉ hiển thị nămỉtonngg Textbox thôi. Tôi phải dùng code như thế nào?

Mong các anh chị giúp đỡ,
 
Bạn thử làm thế này:

Textbox n= year(sheetxxx.cells(i,j))

Nhưng dở khi nhập lại thì mất ngày tháng, khắc phục dùng hàm format(sheetxxx.cells(i,j),"yyyy")
 
Lần chỉnh sửa cuối:
Upvote 0
Chào các anh chị,

Giả sử trong bảng tính Excel tôi nhập đầy đủ định dạng dd/mm/yyyy, làm sao để khi hiển thị trong Textbox nó chỉ xuất hiện năm dạng yyyy?

VD: Tôi nhập và sheet: "01/06/2009" thì trong Textbox xuất hiện "2009"
"01/06/2007" thì xuất hiện "2007"

Nghĩa là nó chỉ hiển thị nămỉtonngg Textbox thôi. Tôi phải dùng code như thế nào?

Mong các anh chị giúp đỡ,
Bạn thử code sau (Trong userform) --> Nếu là năm thôi sao bạn không nhập năm thôi cho nó tiên hơn không :-=
Mã:
Private Sub TextBox1_AfterUpdate()
Me.TextBox1 = Year(Me.TextBox1)
End Sub
Thân
 
Upvote 0
Bạn thử code sau (Trong userform) --> Nếu là năm thôi sao bạn không nhập năm thôi cho nó tiên hơn không :-=
Mã:
Private Sub TextBox1_AfterUpdate()
Me.TextBox1 = Year(Me.TextBox1)
End Sub
Thân

Cảm ơn các ban, tôi đã thử nhưng vẫn không được.
Tôi mô tải lại như thế này:

Tôi dùng Form nhập liệu: khi nhập yêu cầu phải nhập đầy đủ định dạng dd/mm/yyyy và dữ liệu lưu vào sheet phải đầy đủ (dd/mm/yyyy), khi tôi click vào Listbox thì tôi muốn nó chỉ hiển thị yyyy ở Textbox thôi (không hiển thị dd/mm/yyyy)
Hiện nay khi tôi click vào Listbox thì nó hiển thị trong Textbox đầy đủ dd/mm/yyyy.

Mong mọi người giúp đỡ
 
Upvote 0
Cảm ơn các ban, tôi đã thử nhưng vẫn không được.
Tôi mô tải lại như thế này:

Tôi dùng Form nhập liệu: khi nhập yêu cầu phải nhập đầy đủ định dạng dd/mm/yyyy và dữ liệu lưu vào sheet phải đầy đủ (dd/mm/yyyy), khi tôi click vào Listbox thì tôi muốn nó chỉ hiển thị yyyy ở Textbox thôi (không hiển thị dd/mm/yyyy)
Hiện nay khi tôi click vào Listbox thì nó hiển thị trong Textbox đầy đủ dd/mm/yyyy.

Mong mọi người giúp đỡ

Đây là file ví dụ của tôi,
Tôi muốn Textbox thời gian chỉ hiển thị năm (yyyy)
 

File đính kèm

Upvote 0
Còn một vấn đề nữa:
Giả sử có những cells thì đầy đủ dd/mm/yyyy nhưng có những cells chỉ có yyyy thôi.
Vậy làm thế nào để nó chỉ hiển thị yyyy trong textbox???

Xin gửi file đinh kèm
 

File đính kèm

Upvote 0
Còn một vấn đề nữa:
Giả sử có những cells thì đầy đủ dd/mm/yyyy nhưng có những cells chỉ có yyyy thôi.
Vậy làm thế nào để nó chỉ hiển thị yyyy trong textbox???

Xin gửi file đinh kèm
Thử thay đoạn code vừa rồi thành:
PHP:
Ngay.Value = IIf(Me.ListBox1.Column(3) < 3000, Me.ListBox1.Column(3), Year(Me.ListBox1.Column(3)))
Cũng chỉ tương đối thôi --> Dựa trên cơ sở: Nếu là 1 ngày thật sự ta đang sử dụng thì hẳn nó phải > 18/3/1908 (tương đương với số 3000 nếu ta Format ngày này ở dạng General)
Thử xem
 

File đính kèm

Upvote 0
Thử thay đoạn code vừa rồi thành:
PHP:
Ngay.Value = IIf(Me.ListBox1.Column(3) < 3000, Me.ListBox1.Column(3), Year(Me.ListBox1.Column(3)))
Cũng chỉ tương đối thôi --> Dựa trên cơ sở: Nếu là 1 ngày thật sự ta đang sử dụng thì hẳn nó phải > 18/3/1908 (tương đương với số 3000 nếu ta Format ngày này ở dạng General)
Thử xem

Đã giúp thì mong bạn ndu giúp cho chót:
Thêm một vấn đề nữa mong bạn chỉ giáo,
Nếu thời gian tại các cells là: "1997-2001"; "2001-2004"
Tôi muốn nó vẫn hiển thị y nguyên như thế trong Textbox thì phải thêm code như thế nào nữa?

Mong bạn chỉ giáo,

Cảm ơn bạn,
 

File đính kèm

Upvote 0
Đã giúp thì mong bạn ndu giúp cho chót:
Thêm một vấn đề nữa mong bạn chỉ giáo,
Nếu thời gian tại các cells là: "1997-2001"; "2001-2004"
Tôi muốn nó vẫn hiển thị y nguyên như thế trong Textbox thì phải thêm code như thế nào nữa?

Mong bạn chỉ giáo,

Cảm ơn bạn,
Ai chà... Sao bạn không đưa lên hết 1 lần các yêu cầu?
...............................
Thử code này xem:
PHP:
Private Sub ListBox1_Click()
  On Error Resume Next
  Ma.Value = ListBox1.Column(0)
  Donvi.Value = ListBox1.Column(1)
  TenDT.Value = ListBox1.Column(2)
  If Me.ListBox1.Column(3) <> "" Then
    If InStr(Me.ListBox1.Column(3), "-") Or Me.ListBox1.Column(3) < 3000 Then
      Ngay.Value = Me.ListBox1.Column(3)
    Else
      Ngay.Value = Year(Me.ListBox1.Column(3))
    End If
  Else
    Ngay.Value = ""
  End If
End Sub
Chỉ IF thêm 1 nhát nữa thôi mà (dựa trên cơ sở tìm ký tự gạch ngang - )
 

File đính kèm

Upvote 0
Ai chà... Sao bạn không đưa lên hết 1 lần các yêu cầu?
...............................
Thử code này xem:
PHP:
Private Sub ListBox1_Click()
  On Error Resume Next
  Ma.Value = ListBox1.Column(0)
  Donvi.Value = ListBox1.Column(1)
  TenDT.Value = ListBox1.Column(2)
  If Me.ListBox1.Column(3) <> "" Then
    If InStr(Me.ListBox1.Column(3), "-") Or Me.ListBox1.Column(3) < 3000 Then
      Ngay.Value = Me.ListBox1.Column(3)
    Else
      Ngay.Value = Year(Me.ListBox1.Column(3))
    End If
  Else
    Ngay.Value = ""
  End If
End Sub
Chỉ IF thêm 1 nhát nữa thôi mà (dựa trên cơ sở tìm ký tự gạch ngang -)

Đúng là cao kiến, bác ndu giỏi thật. Xứng đáng là chuyên gia của GPE
Chúc bác khoẻ!
 
Upvote 0
Đúng là cao kiến, bác ndu giỏi thật. Xứng đáng là chuyên gia của GPE
Chúc bác khoẻ!
Thế thì.. tiết kiệm gì mà không bấm vào nút
attachment.php
nhỉ?
Viết dài dòng chi thêm cho mất công!
--------------------
Nói thêm: Đây không phải là ý của tôi mà là QUY ĐỊNH CỦA GPE
 

File đính kèm

  • untitled.JPG
    untitled.JPG
    1.2 KB · Đọc: 67
Upvote 0
Web KT

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

Back
Top Bottom