Chuyên mục xử lý, gỡ rối code VBA (1 người xem)

Liên hệ QC

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

Status
Không mở trả lời sau này.

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia
5/6/08
Bài viết
30,703
Được thích
53,957
MINH THỬ DC RỒI MẤY BẠN AH DO SHEET MÌNH ĐẶT TÊN TIẾNG VIỆT NÊN LỖI
CẢM ƠN TẤT CẢ ANH EM ĐÃ GIÚP MÌNH
 
Upvote 0
chào cả nhà tình hình là e đang muốn lọc dữ liệu excel tự động lên mạng kiếm thì có một dòng lên như sau mà e ứng dụng thì không chạy nhờ các Anh xem giúp e cảm ơn mã như sau:
Private Sub textbox1_change()
ActiveSheet.ListObjects("bang").Range.AutoFilter Field:=1, _
Criterial:="*" & [b2] & "*", Operator:=x1filterValues
End Sub
 
Upvote 0
chào cả nhà tình hình là e đang muốn lọc dữ liệu excel tự động lên mạng kiếm thì có một dòng lên như sau mà e ứng dụng thì không chạy nhờ các Anh xem giúp e cảm ơn mã như sau:
Private Sub textbox1_change()
ActiveSheet.ListObjects("bang").Range.AutoFilter Field:=1, _
Criterial:="*" & [b2] & "*", Operator:=x1filterValues
End Sub
xlFilterValues chứ không phải là x1filterValues, copy code mà còn sai.
 
Upvote 0
Em muốn sử dụng 1 VBA để tại mục ô B2 sẽ lọc dữ liệu tự động từ bảng bên dưới ạ và e muốn xóa nhưng ô trống không có dữ liệu như hàng 15 chẳng hạn. e cảm ơn trước
 

File đính kèm

Upvote 0
Em muốn sử dụng 1 VBA để tại mục ô B2 sẽ lọc dữ liệu tự động từ bảng bên dưới ạ và e muốn xóa nhưng ô trống không có dữ liệu như hàng 15 chẳng hạn. e cảm ơn trước
Bạn phải làm rõ chổ này, tiêu chí lộc là sao, bằng ô B2 mà cái nào bằng cột A, B, C... vậy giả sử bạn muốn bỏ hàng trống thì bạn nhập vào B2 cái gì?
 
Upvote 0
thứ 1 e muốn xóa những dòng trống không có dữ liệu
thứ 2 e muốn tại ô b2 ví dụ tại ô B2 mình nhập từ than đá nó sẽ tự tìm được ô có B2 ạ. tìm dữ liệu giống như video này ạ
 
Upvote 0
thứ 1 e muốn xóa những dòng trống không có dữ liệu
thứ 2 e muốn tại ô b2 ví dụ tại ô B2 mình nhập từ than đá nó sẽ tự tìm được ô có B2 ạ. tìm dữ liệu giống như video này ạ
Cái video này nó lọc ở cột A mà bạn. Theo bạn mô tả hình như là lọc cột C thì phải. nếu đúng vậy thì bạn có thể sử dụng code sau.
Mã:
Private Sub textbox1_change()
ActiveSheet.Range("$A$3:$I$" & Range("A65000").End(xlUp).Row).AutoFilter Field:=3, Criteria1:="*" & [b2] & "*"
End Sub
 
Upvote 0
Cảm ơn A nhiều, A có thể giúp e viết 1 đoạn lệnh để xóa các hàng trống không ạ.
 
Upvote 0
Cảm ơn A nhiều, A có thể giúp e viết 1 đoạn lệnh để xóa các hàng trống không ạ.
Bạn dùng code này cho file của bạn.
Mã:
Sub GPE()
On Error Resume Next
Dim i As Long, VungDel As Range, k As Long
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
        k = 0
            For i = Sheet1.Range("A65000").End(xlUp).Row To 5 Step -1
                If WorksheetFunction.CountBlank(Sheet1.Range("A" & i).Resize(, 9)) = 9 Then
                    If VungDel Is Nothing Then
                        Set VungDel = Rows(i)
                    Else
                        Set VungDel = Union(VungDel, Rows(i))
                        k = k + 1
                        If (k = 100) And (Not VungDel Is Nothing) Then
                            VungDel.EntireRow.Delete
                            Set VungDel = Nothing
                            k = 0
                        End If
                    End If
                End If
            Next i
            If Not VungDel Is Nothing Then VungDel.EntireRow.Delete
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
End Sub
 
Upvote 0
Em chào các anh chị, thầy cô trên diễn đàn GPE
Em có 1 file theo dõi hóa đơn như file gửi kèm
Do nhu cầu cập nhập hóa đơn do các Công ty cung cấp hàng ngày nên phải thao tác tìm kiếm đến tên Công ty rồi Chèn bổ sung thêm các dòng nối tiếp vào
Để đơn giản việc tìm kiếm em có ghi lại 1 Macro vào Button Tìm đến Công ty (Button tương tự như chức năng Find của Excel)
Tuy nhiên do tính năng Find của excel là tìm từ trên xuống trong khi em mong muốn là tìm từ dưới lên để việc cập nhập được thuận tiện
Chi tiết em đã trình bày trong File gửi kèm. Rất mong các anh chị và thầy cô giúp đỡ
Em xin cảm ơn
 

File đính kèm

Upvote 0
Upvote 0
Trong code có chỗ SearchDirection:=xlNext, sửa lại thành SearchDirection:=xlPrevious thì nó sẽ tìm từ dưới lên
Em cảm ơn thầy
Nhưng nó lại phát sinh thêm 1 lần click chuột nữa. Vì Lần click đầu vào Button nó sẽ tìm luôn là ô C2, đến lần Click chuột tiếp vào Button nó mới nhảy đến ô cuối của tìm kiếm
Có cách nào chỉ 1 lần Click chuột là đến luôn ô cần tìm kiếm không thầy?
 
Upvote 0
Em cảm ơn thầy
Nhưng nó lại phát sinh thêm 1 lần click chuột nữa. Vì Lần click đầu vào Button nó sẽ tìm luôn là ô C2, đến lần Click chuột tiếp vào Button nó mới nhảy đến ô cuối của tìm kiếm
Có cách nào chỉ 1 lần Click chuột là đến luôn ô cần tìm kiếm không thầy?
Trong code bạn ghì: Cells.Find(....) có nghĩa là tìm trên toàn bộ bảng tính? Như vậy không tốt lắm, bời tên cty nằm ở cột C mà
Nhân tiện sửa luôn toàn bộ:
Mã:
Sub Button2_Click()
  On Error Resume Next
  Range("C5:C10000").Find(Range("C2").Value, , xlValues, xlPart, , xlPrevious, False).Select
End Sub
Phải có On Error Resume Next, phòng trường hợp báo lỗi không tìm thấy
 
Upvote 0
Vâng em cảm ơn thầy
Code chạy đúng như ý em rồi
 
Upvote 0
Topic Những câu hỏi về code, xin giải thích các code... đã quá dài nên mình đóng nó lại và mở topic khác
Tất cả những bài viết liên quan đến việc nhờ giải thích, xử lý và gỡ rối code VBA, các bạn vui lòng đăng tại đây!
Cảm ơn
Thầy Ndu! chỉnh lại hộ em đoạn code file dưới với ạ. đoạn code mọi khi em vẫn dùng, nhưng hnay giữ liệu nhiều hơn bị lỗi khả năng do vùng làm việc nhỏ quá nên lỗi nhờ thầy xem cho em với..
 

File đính kèm

Upvote 0
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom