Xin trợ giúp tạo macro tìm kiếm và thay thế (1 người xem)

Liên hệ QC

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

phamtam

Thành viên mới
Tham gia
11/11/07
Bài viết
2
Được thích
0
Chào các thành viên trong diễn đàn!
Xin giúp tôi tạo một macro tìm các từ trong một cột chứa địa chỉ sau đó gán vào cột bên cạnh là một từ khác.
Ví dụ:
Cột địa chỉ----------------------Cột bên cạnh
....Quận Ba đình Hà nội
....Huyện Từ Liêm Hà nội

Tìm từ "Ba đình" và gán hàng bên cạnh là "A"
Tìm từ "Từ Liêm" và gán hàng bên cạnh là "B"
Sau đó sắp theo "A", "B".

Xin cảm ơn!
 
/)/ếu khoái macro, thì đây:

Mã:
Option Explicit
[b]
Sub SearchAndSort()[/b]
 Dim lRow As Long, iJ As Long
 Dim DChi As String, StrC As String
 
 lRow = Cells(65432, 6).End(xlUp).Row:           StrC = "NEN VIET HOA!"
 DChi = InputBox("HAY NHAP DIA CHI CAN TIM: ", StrC, "Ba dình")
 DChi = UCase$(DChi)
 StrC = InputBox("NHAP MA CAN THAY", StrC, "A"):      StrC = UCase$(StrC)
1[COLOR="Blue"]'/ Tìm tại cột 'F' & thêm vô cột bên phải tw ứng:[/COLOR]
 For iJ = 2 To lRow
    If UCase$(Cells(iJ, 6)) = DChi Then Cells(iJ, 7) = StrC
 Next iJ
 Range("F1:G" & lRow).Select
 Selection.Sort Key1:=Range("G2"), Order1:=xlAscending, Key2:=Range("F2") _
        , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
        :=xlSortNormal[b]
End Sub[/b]
 
Lần chỉnh sửa cuối:
Upvote 0
Nếu ít địa chỉ Bạn có thể dùng như sau: B1=if(a1="Ba Đình",A,if(a1="Hoàn Kiếm",B,if(a1="xyz",C,""))). Nếu nhiều Bạn có thể dùng qua hàm VLOOUP.BDT-TTQLBMB.__--__
 
Upvote 0
Tiger62 đã viết:
Nếu ít địa chỉ Bạn có thể dùng như sau: B1=if(a1="Ba Đình",A,if(a1="Hoàn Kiếm",B,if(a1="xyz",C,""))). Nếu nhiều Bạn có thể dùng qua hàm VLOOUP.BDT-TTQLBMB.__--__
Dù dử liệu ít nhưng điều kiện tìm kiếm nhiều thì bạn làm IF kiểu đó có mà chết (12 điều kiện tìm kiếm chẳng hạn)... Tôi nghĩ cách này ko ổn...
 
Upvote 0
Cám ơn các bác trợ giúp, các dòng địa chỉ khá nhiều, phải ghi ghi tên người quản lý địa bàn bên cạnh, tôi không biết viết macro nên thử ghi lại thì như sau:
-Tôi copy cột đia chỉ sang cột bên cạnh (cột J), sau đó chạy cái này:
Mã:
Columns("J:J").Select
For Each Cell In Selection
    Selection.Find(What:="Ba ?ình", After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate
    
    ActiveCell.FormulaR1C1 = "MINH QL"
    
    Selection.Find(What:="Ph??ng Giáp bát", After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate
    ActiveCell.FormulaR1C1 = "BINH QL"
Next

Tìm từ Ba đình hoặc các từ khác trong dòng địa chỉ sau đó ghi đè lên ô đó, nhưng lệnh bị lỗi khi không có từ cần tìm. Các bác giúp theo hướng này được không? Cám ơn.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Chào gia đình GPE!

Em muốn dùng đoạn macro xóa toàn bộ các ô có chứa 00:00:00 nên em dùng macro từ việc ghi macro này, nhưng khi dùng nó để chạy lại thì không được.
Mong các anh chị chỉ giúp ạ!

đoạn macro em ghi như sau:

Sub Thay()
Cells.Replace What:="00:00:00", Replacement:="", LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
 
Upvote 0
Chào gia đình GPE!

Em muốn dùng đoạn macro xóa toàn bộ các ô có chứa 00:00:00 nên em dùng macro từ việc ghi macro này, nhưng khi dùng nó để chạy lại thì không được.
Mong các anh chị chỉ giúp ạ!

đoạn macro em ghi như sau:

Sub Thay()
Cells.Replace What:="00:00:00", Replacement:="", LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
Thử với em này xem:

Mã:
Sub Thay()
    Cells.Replace What:=TimeValue("0:0:0"), Replacement:="", LookAt:=xlWhole
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom