Nhờ viết giúp code tìm kiếm cho form (1 người xem)

Liên hệ QC

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

quoc nhat

Thành viên tiêu biểu
Tham gia
8/3/12
Bài viết
567
Được thích
43
Nghề nghiệp
cán bộ ngành y tế
Dear các anh chị.
Em gửi File lên là nhờ các anh chị viết giúp em cái code tìm kiếm dữ liệu cho form.
tên Form là: QLBHYT được Show ở sheet 1.
Nhờ các anh chị viết code lấy dữ liệu ở sheet "danh sach"
bao gồm:
TxtMathe: để nhập mã thẻ bảo hiểm y tế vào ví dụ như:
HN4450500500122
Còn listbox1 sẽ lấy dữ liệu ở sheet danh sách những dòng có dữ liệu trùng với mã thẻ nhập ở textbox1 nhưng chỉ lấy dữ liệu các ô: Họ tên, giới tính, ngày khám, mã bệnh, mã phiếu thanh toán,chi phí tiền thuốc.
Form này dùng để kiểm tra số lần khám bệnh trong tháng Vd: 1 lần thì thể hiện 1 hàng, 2 lần thì được thể hiện 2 hàng
các anh chị cố gắng giúp em với!
Em đã gửi mấy lần rồi mà chưa có ai giúp em cả.
em xin cảm ơn trước.
 

File đính kèm

anh ơi! Nó bị lỗi anh ạ! Lỗi ở đoạn này anh


Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Const WS_SYSMENU As Long = &H80000
Private Const GWL_STYLE As Long = -16&


Private Sub UserForm_Initialize()
HideCloseBox Me
End Sub


Private Sub HideCloseBox(ByVal UserForm As UserForm)
Dim hWnd As Long
Dim WindowStyle As Long
If Application.Version < 9 Then
hWnd = FindWindow("ThunderXFrame", UserForm.Caption)
Else
hWnd = FindWindow("ThunderDFrame", UserForm.Caption)
End If
If hWnd <> 0 Then
WindowStyle = GetWindowLong(hWnd, GWL_STYLE)
SetWindowLong hWnd, GWL_STYLE, WindowStyle And Not WS_SYSMENU
End If
End Sub
Private Sub CommandButton1_Click()
Sheet6.[A:G].ClearContents
Unload Me
End Sub


Private Sub txtMathe_Change()
txtMathe = UCase(txtMathe)
With Sheet6
.[A1] = txtMathe.Value
.[B1].Formula = "=COUNTIF('danh sach'!E:E,A1)"
If .[B1].Value > 0 And txtMathe.TextLength > 3 Then
.Visible = xlSheetVisible
.[A10].Formula = "=COUNTIF(B$9:B10,B10)"
.[B10].Formula = "=IF($A$1='danh sach'!E10,'danh sach'!B10,"""")"
.[C10].Formula = "=IF($A$1='danh sach'!E10,'danh sach'!D10,"""")"
.[D10].Formula = "=IF($A$1='danh sach'!E10,'danh sach'!F10,"""")"
.[E10].Formula = "=IF($A$1='danh sach'!E10,UPPER('danh sach'!G10),"""")"
.[F10].Formula = "=IF($A$1='danh sach'!E10,'danh sach'!H10,"""")"
.[G10].Formula = "=IF($A$1='danh sach'!E10,'danh sach'!K10,"""")"
.Select
.Range(Cells(10, 1), Cells(Sheet5.Range("B65536").End(xlUp).Row - 15, 7)).FillDown
.Range(Cells(10, 1), Cells(Sheet5.Range("B65536").End(xlUp).Row - 15, 7)).Value = .Range(Cells(10, 1), Cells(Sheet5.Range("B65536").End(xlUp).Row - 15, 7)).Value
.Range(Cells(10, 1), Cells(Sheet5.Range("B65536").End(xlUp).Row - 15, 7)).Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("D:D"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range(Cells(9, 1), Cells(Sheet5.Range("B65536").End(xlUp).Row - 15, 7))
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
.[A1].Select
Sheet1.Select
Me.List1.RowSource = "Danhsach"
.Visible = xlSheetVeryHidden
Else
Me.List1.RowSource = ""
End If
End With
End Sub


Private Sub UserForm_Click()


End Sub


anh xem lại giúp em với!
Sao nó lại tự động INset thêm một sheet mới nhỉ?
 
Upvote 0
Học được từ GPE nay gửi bạn tham khảo xem có dùng được không nhé
Bạn thay đổi cột dữ liệu cho phù hợp nhé
file DL đính kèm
 

File đính kèm

Upvote 0
Bạn xem đã đúng ý chưa nhé.

Code này viết theo dạng: CỐ TÌNH GÂY HOA MẮT đây ---> Đến nỗi khiến người dùng không còn biết cái nào chính là thứ mình cần
Lấy ví dụ:
If Application.Version < 9 Then
Bộ bạn nghĩ rằng đến bây giờ vẫn còn có ai đó xài Excel 8 à?
 
Upvote 0
Học được từ GPE nay gửi bạn tham khảo xem có dùng được không nhé
Bạn thay đổi cột dữ liệu cho phù hợp nhé
file DL đính kèm
Cái của bạn cũng được đấy nhưng nó không phù hợp với yêu cầu của mình
Mình muốn tìm kiếm trên Form cơ nhưng dù sao cũng cảm ơn bạn vì đã nhiệt tình giúp đỡ
 
Upvote 0
Code này viết theo dạng: CỐ TÌNH GÂY HOA MẮT đây ---> Đến nỗi khiến người dùng không còn biết cái nào chính là thứ mình cần
Lấy ví dụ:
If Application.Version < 9 Then
Bộ bạn nghĩ rằng đến bây giờ vẫn còn có ai đó xài Excel 8 à?
Đươc biết thầy giỏi về lĩnh vực này mong thầy giúp em với
 
Upvote 0
Web KT

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

Back
Top Bottom