Lỗi Method 'Find' of Object 'Selection' failed (1 người xem)

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

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

vba_gpe

Thành viên thường trực
Tham gia
15/12/10
Bài viết
296
Được thích
44
Nghề nghiệp
Thất nghiệp
Chào anh chị GPE
Mình có viết một sub tìm một ký tự theo điều kiện trên word và đánh dấu kí tự đó bằng cách bôi màu tím ngay tại vị trí cần tìm.
1. Trên Word mình viết như sau -> Chạy bình thường
Mã:
Sub TestW()
Dim sFindText As String
sFindText = "11111"
Selection.ClearFormatting
Selection.HomeKey wdStory, wdMove
Selection.Find.ClearFormatting
Selection.Find.Execute sFindText
Do Until Selection.Find.Found = False
        Selection.Range.HighlightColorIndex = wdPink
Loop
End Sub

2. Mình thử dùng Excel để mở file word đó và cũng thực hiện thao tác tìm kiếm và đánh dấu như trên thì bị lỗi Method 'Find' of Object 'Selection' failed
Mình không biết có khai báo gì sai không? Mong anh chị giải đáp giúp mình
Code trên Excel:
Mã:
Sub TestExcel()
Dim Wapp As Word.Application
Dim Wdoc As Word.Document
FName = ThisWorkbook.Path & "\TestW.doc"
'- Mo word
Set Wapp = CreateObject("Word.Application")
Set Wdoc = Wapp.Documents.Open(FName)
Wapp.Visible = True
Wdoc.Activate
'- Tim trong word
With Wapp
    Dim sFindText As String
    sFindText = "11111"
    .Selection.ClearFormatting
    .Selection.HomeKey wdStory, wdMove
    .Selection.Find.ClearFormatting
    .Selection.Find.Execute sFindText
    Do Until .Selection.Find.Found = False
        .Selection.Range.HighlightColorIndex = wdPink
    Loop
End With
End Sub
Mong nhân được đóng góp của anh chị.
Mình có gửi kèm 2 file Word và Excel.
 

File đính kèm

Lần chỉnh sửa cuối:
Có lẽ bạn bị báo lỗi ở dòng lệnh này khi chạy macro trong excel

PHP:
.Selection.Find.ClearFormatting

Về fương thức FIND() trong excel bạn tham khảo thêm bài trong BOX 'Lập trình"

Mà trang tính trống trơn vậy thì tìm mần răng, chừ?
 
Upvote 0
Chào anh chị GPE
Mình có viết một sub tìm một ký tự theo điều kiện trên word và đánh dấu kí tự đó bằng cách bôi màu tím ngay tại vị trí cần tìm.
1. Trên Word mình viết như sau -> Chạy bình thường

Trên Word tôi có thấy chạy "bình thường" đâu. Run macro 1 phát ---> Treo luôn
 
Upvote 0
Có lẽ bạn bị báo lỗi ở dòng lệnh này khi chạy macro trong excel

PHP:
.Selection.Find.ClearFormatting

Về fương thức FIND() trong excel bạn tham khảo thêm bài trong BOX 'Lập trình"

Mà trang tính trống trơn vậy thì tìm mần răng, chừ?
Cảm ơn bạn HYen17
Mình không nghĩ đó là do phương thức tìm kiếm bên Excel, tại vì mình đã bắt đầu bằng With WApp, và trong đó mình dùng
.Selection.Find.ClearFormatting rồi mà.
Nguyên cái đoạn làm việc với Word ở phía cuối sub TestExcel sẽ tương đương với sub TestW bên file Word mình làm.

Nhờ thầy NDU góp ý, mình có sửa lại:
Mã:
Sub TestExcel()
Dim Wapp As Word.Application
Dim Wdoc As Word.Document
FName = ThisWorkbook.Path & "\TestW.doc"
'- Mo word
Set Wapp = CreateObject("Word.Application")
Set Wdoc = Wapp.Documents.Open(FName)
Wapp.Visible = True
Wdoc.Activate
'- Tim trong word
With Wapp
    Dim sFindText As String
    sFindText = "11111"
    .Selection.ClearFormatting
    .Selection.HomeKey wdStory, wdMove
    .Selection.Find.ClearFormatting
    .Selection.Find.Execute sFindText
    Do Until .Selection.Find.Found = False
        .Selection.Range.HighlightColorIndex = wdPink
        .Selection.Find.Execute
    Loop
End With
End Sub
Có thể mình viết chưa rõ nên mình đã sửa lại.

Mong nhận được sự góp ý của mọi người .
 
Lần chỉnh sửa cuối:
Upvote 0
Trên Word tôi có thấy chạy "bình thường" đâu. Run macro 1 phát ---> Treo luôn

Hi, dạ
Xin lỗi thầy. Em bị thiếu 1 đoạn cuối : Em chỉ debug mà không chạy hoàn tất
Mã:
 Selection.Find.Execute
Sửa lại:
Mã:
Sub TestW()
Dim sFindText As String
sFindText = "11111"
Selection.ClearFormatting
Selection.HomeKey wdStory, wdMove
Selection.Find.ClearFormatting
Selection.Find.Execute sFindText
Do Until Selection.Find.Found = False
    Selection.Range.HighlightColorIndex = wdPink
    Selection.Find.Execute
Loop
End Sub

Mong thầy góp ý giúp em.
Cảm ơn thầy và mọi người
 
Lần chỉnh sửa cuối:
Upvote 0

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

Back
Top Bottom