Tìm kiếm trong tất cả các Sheets (1 người xem)

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

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

148btx

Thành viên mới
Tham gia
14/10/06
Bài viết
40
Được thích
103
Nghề nghiệp
Thiết kế điện
Tôi kiếm được mã nguồn mở để sử dụng cho việc tìm kiếm từ ở tất cả các Sheets, nó hoạt động rất tốt nhưng đáng tiếc đây là MsgBox cho nên việc gõ từ tìm kiếm bằng chữ tiếng việt gặp trở ngại, chính vì vậy tôi muốn làm một UserForm để tìm kiếm từ trong tất cả các Sheet của một Workbook đang mở. Trong UserForm này bao gồm một TextBox để đánh từ cần tìm, một CommandButtonOK, một CommandButtonCancel,
Mong có bạn nào giúp tôi thực hiện công việc này:

Private Sub CommandButtonOk_Click()
?????????
If TextBox = "" Then
?????????
End Sub
Private Sub CommandButtonCancel_Click()
Me.Hide
End Sub


Đây là mã nguồn mở cho việc tìm kiếm bằng MsgBox:
Option Explicit
Public strSuch As String
Sub SearchAllSheets()
Dim wks As Worksheet
Dim rng As Range
Dim strAddress As String, strFind As String
strFind = InputBox("To enter the search criterion:", Application.UserName, strSuch)
If strFind = "" Then Exit Sub
For Each wks In Worksheets
Set rng = wks.Cells.Find(strFind, lookat:=xlPart, LookIn:=xlFormulas)
If Not rng Is Nothing Then
strAddress = rng.Address
Do
Application.Goto rng, False
If MsgBox("Next", vbYesNo + vbQuestion) = vbNo Then Exit Sub
Set rng = Cells.FindNext(After:=ActiveCell)
If rng.Address = strAddress Then Exit Do
Loop
End If
Next wks
strSuch = strFind
MsgBox "No next source of information !", False, Application.UserName
Worksheets(1).Activate
Range("A1").Select
End Sub
 
Bác thử dùng file sau xem sao!
 

File đính kèm

Upvote 0
hic! Viết thế này sơ sai quá....... chắc chỉ là để ??????

Hi! Cho mình hỏi:
If Not rng Is Nothing ThenIf rng Is Nothing Then khác nhau như thế nào nhỉ?
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
ngothehoahanoi đã viết:
Hi! Cho mình hỏi:
If Not rng Is Nothing ThenIf rng Is Nothing Then khác nhau như thế nào nhỉ?

trong các toán tử logic, chỉ có Is nothing (không có, rỗng), NoMatch (không tìm thấy, rỗng...) ... vì vậy để Phủ định lại các logic này thì thêm từ Not ...
if Not ...NoMatch = có tìm thấy
if not ... is nothing = không rỗng
túm lại : Phủ định của cái Phủ định = Khẳng định ...
 
Upvote 0
cái này tôi đang cần đây, Thank bác
 
Upvote 0
Mình xin hỏi các bạn tẹo:

Đây là đoạn code của NVSon mà mình mạn phép thêm vô chút đỉnh để thử đo thời gian thao tác của VBA với 1 trong 2 lệnh tương đương ((1) & (2))

Mã:
[b]Private Sub cmdOK_Click()[/b]
Dim wks As Worksheet:               Dim rng As Range
Dim strAddress As String, strFind As String, strSuch As String
Dim ThGian As Double [color="Blue"]' * * * [/color]

strFind = txtInput.Text:                    ThGian = Timer
If Len(strFind) = 0 Then End
For Each wks In Worksheets

1      Set rng = wks.Cells.Find(strFind, lookat:=xlPart, LookIn:=xlFormulas)
2 '    Set rng = wks.UsedRange.Find(strFind, lookat:=xlPart, LookIn:=xlFormulas)

    If Not rng Is Nothing Then
        strAddress = rng.Address
        Do
            Application.Goto rng, False
            If MsgBox("Next", vbYesNo + vbQuestion) = vbNo Then Exit Sub
            Set rng = Cells.FindNext(After:=ActiveCell)
            If rng.Address = strAddress Then Exit Do
        Loop
    End If
Next wks
strSuch = strFind
MsgBox "No next source of information !", False, Application.UserName
Worksheets(1).Activate:                 Range("A1").Select
MsgBox Str(Timer - ThGian):         Unload Me
[b]End Sub[/b]
/(ết quả thu được là lệnh (2) chậm nhiều so với lệnh (1)
Xin mọi người cho mình biết : Tại Sao không?
(húc )(uân &ui &ẽ & )(in cảm ơn!
 
Upvote 0
Web KT

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

Back
Top Bottom