[Xin hỏi] Cách kiểm tra dữ liệu khi chạy marco. (1 người xem)

Liên hệ QC

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

trananhtommy

Thành viên hoạt động
Tham gia
11/12/06
Bài viết
111
Được thích
6
Xin chào các Bác.

Em đang tập sử dụng Excel, không biết gì về VBA. Nên em thường làm bằng cách sử dụng marco để ghi chép dữ liệu và lập báo cáo. Ví dụ như:

Sheet 1: Là sheet để cập nhật cách dữ liệu liên quan.
Sheet 2: Là sheet để lưu dữ liệu
Sheet 3: Là sheet để tổng hợp dữ liệu từ sheet 2.

Như vậy E chỉ cần ghi nhận 1 macro làm nhiệm vụ ghi những dữ liệu ở sheet 1 vào 1 bảng dữ liệu ở sheet 2. Sheet 3 thì sử dụng các công thức mình lập sẵn.

Vấn đề ở đây E muốn hỏi là làm cách nào, trước khi ghi dữ liệu ở sheet 1 sang sheet 2, nó sẽ kiểm tra cách ô cần nhập, nếu trống thì không cho ghi lại và báo nhập bổ sung, nếu đủ thì cho ghi sang sheet 2 OK.

Vì trình độ gà mờ nên xin các Bác 1 đoạn code để thêm vào cái macro của em

Xin cảm ơn các Bác rất nhiều!
 
Bạn hãy cho biết cần kiểm ở những ô nào của trang tính Sheet1?

Nếu không fiền, bạn giới thiệu luôn macro thân thương của bạn lên đây đi; Đừng ngại bị chê.
Có khi gặp người tốt bụng, họ sẽ giúp làm cho cục cưng của bạn diêm dứa hơn không chừng!

Chờ í bạn!
 
Upvote 0
Nếu không fiền, bạn giới thiệu luôn macro thân thương của bạn lên đây đi; Đừng ngại bị chê.
Có khi gặp người tốt bụng, họ sẽ giúp làm cho cục cưng của bạn diêm dứa hơn không chừng!

Chờ í bạn!

Cảm ơn bạn.

Mình gửi lên 1 file của mình.

Trong file này mình muốn người nhập phải nhập đủ tất cả các Ô có chữ màu đỏ. Nếu để trống hoặc không có thì sẽ không cho chạy macro ghiso. Hoặc nếu hơn thì nó hiện lên thông báo phải nhập bổ sung thêm cái gì, ở ô nào nữa.

http://www.mediafire.com/?m3mz3mdezwm

Nếu biết cách, nhờ bạn chỉ giúp. Cảm ơn nhiều.
 
Upvote 0
Cảm ơn bạn.

Mình gửi lên 1 file của mình.

Trong file này mình muốn người nhập phải nhập đủ tất cả các Ô có chữ màu đỏ. Nếu để trống hoặc không có thì sẽ không cho chạy macro ghiso. Hoặc nếu hơn thì nó hiện lên thông báo phải nhập bổ sung thêm cái gì, ở ô nào nữa.

http://www.mediafire.com/?m3mz3mdezwm

Nếu biết cách, nhờ bạn chỉ giúp. Cảm ơn nhiều.

Bạn thêm mấy dòng sau vào Macro Ghi của bạn:

Mã:
Sub ghi()
'
' ghi Macro
'
' Keyboard Shortcut: Ctrl+Shift+S
'
   [COLOR=Blue][B]Dim KhongRong As String
    Dim cells As Range
    KhongRong = "B3,B4,B5,B7,B10,B11,B12,B13,B14,B15,B19,B21,B22"
    Set cells = Sheets("CAPNHAT").Range(KhongRong)

        If Application.CountA(cells) <> cells.cells.Count Then
            MsgBox "Vui long nhap day du thong tin !"
            Exit Sub
        End If[/B][/COLOR]
        
        
    Range("B5").Select
    Sheets("SoTD").Select
    Rows("3:3").Select
    Selection.Copy
    Selection.Insert Shift:=xlDown
    Rows("1:1").Select
    Application.CutCopyMode = False
    Selection.Copy
    Rows("3:3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A3").Select
    Sheets("Capnhat").Select
    ActiveWindow.SmallScroll Down:=9
    Range("B26").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("B22").Select
    ActiveWindow.SmallScroll Down:=-9
    Range("B8").Select
    ActiveCell.FormulaR1C1 = "=TODAY()"
    Range("B9").Select
    ActiveCell.FormulaR1C1 = "=R[1]C[2]"
    Range("B5").Select
End Sub
 
Upvote 0
Cảm ơn bạn rất nhiều. Mình chạy được rồi, đúng như mình mong muốn miễn chê.. hì hì hay quá..!

Tiện đây cho mình hỏi có cách nhập liệu nào mà không cần dùng đến Validation không? Như ở file ví dụ vừa rồi. Tại ô B5 mình không phải dùng Validation bấm để chọn nữa mà mình chỉ cần gõ VD: Như "Hàng hóa" thì nó sẽ liệt kê những danh mục thỏa mãn 2 từ hàng hóa để mình chọn mà không mất công dò tìm từng thứ 1 như Validation trong phần B5 của mình ấy. Làm được như vậy thì sẽ dễ dàng hơn cho người nhập liệu nhiều.

Mình thấy ở trong phần tìm kiếm của google mình cứ gõ 1 hoặc 2 từ thì nó liệt kê 1 số từ dạng như đoán hộ mình ấy.

Cách mình muốn nói là nhập liệu kiểu như vậy.

Bạn có biết cách xử lý không? Hướng dẫn thêm mình chút nữa

cảm ơn bạn nhiều nhé.
 
Upvote 0
Các Bác cho hỏi thêm như ví dụ ở trên E muốn kiểm soát cái KhongRong = "B3,B4,B5,B7,B10,B11,B12,B13,B14,B15,B19,B21,B22"thành KhongRong = "B3" = 1 (có nghĩa chỉ cần kiểm soát tại Ô B3 bằng 1 là không được chạy macro? thì đổi lại lệnh như thế nào các Bác nhỉ?? Giúp E với.
 
Upvote 0
Ôi, không có cao thủ nào giúp E với ạ hu hu...
 
Upvote 0
Web KT

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

Back
Top Bottom