Code End(3) (1 người xem)

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

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

quykh

Chim non
Tham gia
7/9/11
Bài viết
381
Được thích
46
Giới tính
Nữ
Nghề nghiệp
Công Nhân
Xin các AC giải thích code End(3)AdvancedFilter 2 dùm em trong đoạn code dưới:

Sub Loc_co_dk()
[B8:F1000].ClearContents
With Sheet7
.Range(.[A3], .[I65536].End(3)).AdvancedFilter 2, [C2:C3], [C7:F7]
[C4] = .[B:B].Find([C3]).Offset(, -1)
[C5] = .[B:B].Find([C3]).Offset(, 1)
[C6] = .[B:B].Find([C3]).Offset(, 2)
End With
Range([C8], [C65536].End(3)).Offset(, -1) = [row(a:a)]
End Sub
 
Xin các AC giải thích code End(3)AdvancedFilter 2 dùm em trong đoạn code dưới:

Sub Loc_co_dk()
[B8:F1000].ClearContents
With Sheet7
.Range(.[A3], .[I65536].End(3)).AdvancedFilter 2, [C2:C3], [C7:F7]
[C4] = .[B:B].Find([C3]).Offset(, -1)
[C5] = .[B:B].Find([C3]).Offset(, 1)
[C6] = .[B:B].Find([C3]).Offset(, 2)
End With
Range([C8], [C65536].End(3)).Offset(, -1) = [row(a:a)]
End Sub
Người ta viết tắt đó bạn. End(3) = End(xlUp)AdvancedFilter 2 = AdvancedFilter xlFilterCopy
 
Upvote 0
Thế thì em nhờ các AC xem dùm em sao đoạn code này bị lỗi. Khi em gỏ số phiếu vào ô C3 thì bị lỗi. Mong các AC xem file đính kèm.
 

File đính kèm

Upvote 0
Mong các AC viết cho em đoạn code để hiện Msgbox khi không có số phiếu nào trùng với ô C3
 
Upvote 0
Mong các AC viết cho em đoạn code để hiện Msgbox khi không có số phiếu nào trùng với ô C3
Thử cái này xem sao:
[GPECODE=vb]Sub Test()
Dim Rng As Range
With Sheet1
Set Rng = .Range(.[B4], .[B65536].End(xlUp)).Find(Sheet2.[C3], lookat:=xlWhole)
End With
If Rng Is Nothing Then MsgBox "Khong tim thay!"
End Sub[/GPECODE]
 
Upvote 0
Paste vào đâu hả Anh? Sao em dán vào sheet 2 không có tác dụng Anh??
 
Upvote 0
Thử cái này xem sao:
[GPECODE=vb]Sub Test()
Dim Rng As Range
With Sheet1
Set Rng = .Range(.[B4], .[B65536].End(xlUp)).Find(Sheet2.[C3], lookat:=xlWhole)
End With
If Rng Is Nothing Then MsgBox "Khong tim thay!"
End Sub[/GPECODE]
Code trên em sửa thành (chữ màu đỏ)
Mã:
Sub Test()    Dim Rng As Range
    With Sheet1
        Set Rng = .Range(.[B4], .[B65536].End(xlUp)).Find(Sheet2.[C3], lookat:=xlWhole)
    End With
    If Rng Is Nothing Then
    MsgBox "Khong tim thay!"
    
[B][COLOR=#ff0000]    Sheet2.[C3].ClearContents[/COLOR][/B]
    End If
End Sub
Mục đích vừa thông báo vừa xóa luôn cell C3 của Sheet 2
Nhưng khi thông báo "Khong tim thay!" thì không thể tắt được thông báo này
Xin vui lòng sửa code & chỉ giúp chỗ sai!
Em cảm ơn!
 
Upvote 0
Code trên em sửa thành (chữ màu đỏ)
Mã:
Sub Test()    Dim Rng As Range
    With Sheet1
        Set Rng = .Range(.[B4], .[B65536].End(xlUp)).Find(Sheet2.[C3], lookat:=xlWhole)
    End With
    If Rng Is Nothing Then
    MsgBox "Khong tim thay!"
    
[B][COLOR=#ff0000]    Sheet2.[C3].ClearContents[/COLOR][/B]
    End If
End Sub
Mục đích vừa thông báo vừa xóa luôn cell C3 của Sheet 2
Nhưng khi thông báo "Khong tim thay!" thì không thể tắt được thông báo này
Xin vui lòng sửa code & chỉ giúp chỗ sai!
Em cảm ơn!

Anh NghĩaPhúc đã chỉ rõ rồi mà bạn
Bạn chèn vào đâu đó trong Sub Loc_pn là được mà, cứ thử đi.

Tức là dán như thế này
Mã:
Sub Loc_pn()
'Sub Test
Dim Rng As Range
    With Sheet1
        Set Rng = .Range(.[B4], .[B65536].End(xlUp)).Find(Sheet2.[C3], lookat:=xlWhole)
    End With
        If Rng Is Nothing Then
            MsgBox "Khong tim thay!"
[B][COLOR=#ff0000]              Sheet2.[C3].ClearContents[/COLOR][/B]
        End If
'Sub Loc_pn
   [B8:F1000].ClearContents
   With Sheet1
      .Range(.[A3], .[G65536].End(3)).AdvancedFilter 2, [C2:C3], [C7:F7]
      [C4] = .[B:B].Find([C3]).Offset(, -1)
   End With
   Range([C8], [C65536].End(3)).Offset(, -1) = [row(a:a)]
End Sub
 
Upvote 0
Anh NghĩaPhúc đã chỉ rõ rồi mà bạn


Tức là dán như thế này
Mã:
Sub Loc_pn()
'Sub Test
Dim Rng As Range
    With Sheet1
        Set Rng = .Range(.[B4], .[B65536].End(xlUp)).Find(Sheet2.[C3], lookat:=xlWhole)
    End With
        If Rng Is Nothing Then
            MsgBox "Khong tim thay!"
[B][COLOR=#ff0000]              Sheet2.[C3].ClearContents[/COLOR][/B]
        End If
'Sub Loc_pn
   [B8:F1000].ClearContents
   With Sheet1
      .Range(.[A3], .[G65536].End(3)).AdvancedFilter 2, [C2:C3], [C7:F7]
      [C4] = .[B:B].Find([C3]).Offset(, -1)
   End With
   Range([C8], [C65536].End(3)).Offset(, -1) = [row(a:a)]
End Sub
Em đã thử code trên cũng không được
Bây giờ anh thử nhập SAI số phiếu tại ô C3 của sheet2 xem nó bị sao!
Em cảm ơn!
 

File đính kèm

Upvote 0
Hiểu ý bạn rồi, bạn sử đoạn Test như thế này
Mã:
    [COLOR=#000000][I]Sub Test() 
   Dim Rng As Range
[/I][/COLOR]      Application.EnableEvents = True
  With Sheet1
         Set Rng = .Range(.[B4], .[B65536].End(xlUp)).Find(Sheet2.[C3], lookat:=xlWhole)
 End With
       If Rng Is Nothing Then
                MsgBox "Khong tim thay!"
[FONT=Verdana]                Application.EnableEvents = False
[/FONT][B][COLOR=#ff0000]                    Sheet2.[C3].ClearContents
[/COLOR][/B]       End If
 [COLOR=#000000][I]End Sub
[/I][/COLOR]
 
Upvote 0
Hiểu ý bạn rồi, bạn sử đoạn Test như thế này
Mã:
    [COLOR=#000000][I]Sub Test() 
   Dim Rng As Range
[/I][/COLOR]      Application.EnableEvents = True
  With Sheet1
         Set Rng = .Range(.[B4], .[B65536].End(xlUp)).Find(Sheet2.[C3], lookat:=xlWhole)
 End With
       If Rng Is Nothing Then
                MsgBox "Khong tim thay!"
[FONT=Verdana]                Application.EnableEvents = False
[/FONT][B][COLOR=#ff0000]                    Sheet2.[C3].ClearContents
[/COLOR][/B]       End If
 [COLOR=#000000][I]End Sub
[/I][/COLOR]
Lần đầu , nhập sai -> báo lỗi. Tắt báo lỗi, nhập sai lần nữa, không thèm thông báo luôn
Hi Hi, ai xem giúp em.Em cảm ơn
 
Upvote 0
Sao em làm giông các Ac mà chả thấy báo gì hết. Mong các Ac giúp em khi đúng số phiếu thì lọc rếucòn không có thì báo lỗi.
 
Upvote 0
Lần đầu , nhập sai -> báo lỗi. Tắt báo lỗi, nhập sai lần nữa, không thèm thông báo luôn
Hi Hi, ai xem giúp em.Em cảm ơn
Bạn phải sửa lại như thế này mới đúng.
[gpecode=vb]
Sub Test()
Dim Rng As Range
With Sheet1
Set Rng = .Range(.[B4], .[B65536].End(xlUp)).Find(Sheet2.[C3], lookat:=xlWhole)
End With
If Rng Is Nothing Then
MsgBox "Khong tim thay!"
Application.EnableEvents = False
Sheet2.[C3].ClearContents
Application.EnableEvents = True
End If
End Sub[/gpecode]
 
Upvote 0
Em chèn thêm đoạn code này để xóa đi dữ liệu của phiếu trước mà không được
(màu đỏ), mong các AC giúp đỡ.(vì khi gỏ phiếu sai thì vẫn còn lại dữ liệu của phiếu đúng)
Sub Test()
Dim Rng As Range
With Sheet1
Set Rng = .Range(.[B4], .[B65536].End(xlUp)).Find(Sheet2.[C3], lookat:=xlWhole)
End With
If Rng Is Nothing Then
MsgBox "Khong tim thay!"
Application.EnableEvents = False
Sheet2.[C3].ClearContents
Sheet2.[B8:F20].ClearContents

Application.EnableEvents = True
End If

End Sub
 
Upvote 0
Xin các AC giải thích code End(3)AdvancedFilter 2 dùm em trong đoạn code dưới:

Sub Loc_co_dk()
[B8:F1000].ClearContents
With Sheet7
.Range(.[A3], .[I65536].End(3)).AdvancedFilter 2, [C2:C3], [C7:F7]
[C4] = .[B:B].Find([C3]).Offset(, -1)
[C5] = .[B:B].Find([C3]).Offset(, 1)
[C6] = .[B:B].Find([C3]).Offset(, 2)
End With
Range([C8], [C65536].End(3)).Offset(, -1) = [row(a:a)]
End Sub
Code này nhìn quen quá. Nếu không nhầm thì code này có kèm thêm 1 code để tạo validation list. Sao không xai luôn code đó cho khoẻ để tránh việc nhập sai thông tin tại C3
 
Upvote 0
Web KT

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

Back
Top Bottom