Đăng ký học Excel và VBA cùng GPE tháng 11 - TPHCM

Đăng ký học Excel và phân tích số liệu cùng GPE tháng 12 - TPHCM

Mua sách "VBA trong Excel - Cải thiện và tăng tốc" tái bản

Cách nhập dữ liệu trong Excel bằng form tự tạo

Thảo luận trong 'Lập Trình với Excel' bắt đầu bởi thaibinh_excel, 13 Tháng ba 2008.

  1. thaibinh_excel

    thaibinh_excel Thành viên hoạt động

    Các bạn giúp mình nhé,

    Mình có 1 Form số liệu mà nếu nhập bằng cách trực tiếp thì rất dài và mất thời gian, còn nếu dùng lệnh Form của Excel thi nó không thể hiện hết nổi các sheet và phải dùng Tab mới chuyển được.

    Mình muốn tạo 1 Form riêng để nhập số liệu tiết kiệm thời gian hơn bằng cách hễ mình nhập trong Form của mình là nó sẽ tự cập nhật qua sheet tổng hợp, nhập xong mình xóa đi nhập dữ liệu khác là nó tự động xuống 1 hàng để chuyển tiếp dữ liệu mà không mất đi dữ liệu của mình. Mình có đính kèm file để các bạn xem thử ?

    Không biết Excel có làm được cái này không nhỉ? Các bạn xem và giúp mình nhé.

    Cảm ơn các bạn nhiều
     

    Các file đính kèm:

  2. XuanThanh

    XuanThanh Thành viên hoạt động

    Gửi bạn file này tham khảo. Trong file có dùng đến macro, vì vậy để mở được, bạn vào Tôls/Macro/Security, đánh dấu kiểm vào Medium. Đóng Excel và mở file, nhớ chọn Ena...Macro(nút ở giữa)
    Sau khi nhập liệu vào Form bạn nhấn nút "Nhap Lieu", dử liệu từ form của bạn sẽ tự động chuyển sang Sheet Tổng hợp và các ô trong form tự động xóa để bạn nhập dữ liệu mới
    Yêu cầu phải nhập đủ dữ liệu trong form roi mói nhan nút Nhap Lieu, neu không sẽ có thông báo nhắc nhở bạn
    Chúc vui với bài tập này. Muốn xem Macro, nhấn Alt+F11
    Thân
     

    Các file đính kèm:

    Phạm Việt Bách thích bài này.
  3. boong

    boong Thành viên thường trực

    Em ghép thêm lệnh tự động nhập Form không cần nút lệnh luôn. Cái này sẽ tăng tốc cho quá trình nhập dữ liệu cho mọi người luôn. ha. .ha.. .
     

    Các file đính kèm:

    Lần chỉnh sửa cuối: 14 Tháng ba 2015
  4. thaibinh_excel

    thaibinh_excel Thành viên hoạt động

    Cảm ơn bạn Xuân Thanh và Boong rất nhiều. Cho mình hỏi thêm 1 chút nữa nhé, mong các bạn đừng phiền. Mình có mở Macro ra xem và thiệt tình là không hiểu gì hết, chắc tại mình không biết tới những cái này. Do Form mà mình làm nó rất phức tạp, tới khoảng 30 mục cần nhập, nếu vậy mình phải viết lại Marco theo đúng yêu cầu của mình phải không ạ? Và nếu như vậy mình phải biết về MVB mới làm được, chứ còn nếu dùng các function của Excel là không thể được đúng không ?

    Các bạn có biết ai dạy kèm mấy cái này tốt không? có thể giới thiệu giúp mình được không ?

    Cám ơn các bạn nhiều,
     
  5. anhtuan1066

    anhtuan1066 Thành viên gạo cội

    Ngôn ngữ nằm ở chổ: Bấm Atl + F11 tự nhiên sẽ thấy... Còn như vẫn ko hiểu thì đành phải học từ đầu...
    Học tại đây:
    http://www.giaiphapexcel.com/forum/showthread.php?t=650
    Mến
    ANH TUẤN
     
  6. tuetinhqb

    tuetinhqb Thành viên mới

    Form nhập liệu trong excel


    Cám ơn các anh rất nhiều,

    Các anh có thể giúp em việc này nữa được ko?

    ở sheet3 - Nhập số thứ tự của một người đã có trong bảng tổng hợp. Sau đó bấm nút sẽ in thông tin về người này (bao gồm cả số thứ tự) theo một mẫu định sẵn.

    Các anh giúp em với nhá! Cảm ơn.
     
  7. boong

    boong Thành viên thường trực

    Bạn có dữ liệu về người này không đã? Và mẫu định sẵn kia trông như thế nào? Vì không có thì làm sao mà làm được chứ.
     
    Lần chỉnh sửa cuối: 14 Tháng ba 2015
  8. quochuy86

    quochuy86 Thành viên chính thức

    to:boong bạn ơi mình copy đoạn code của bạn sang 1 file excel mới nhưng nó không chạy được giống file cũ. mình không biết làm sao để có được cái nút " nhập liệu" cả. bạn có thể hướng dẫn giúp mình được không.
     
  9. Po_Pikachu

    Po_Pikachu Po_pikachu@ymail.com

    Không chạy thì có thể bạn đã chép sai rồi. Hoặc không đúng với vị trí mà code đã quy định. Vậy tốt nhất bạn nên đưa cái file không chạy kia lên đi. Để mọi người chỉnh lại cho.
    Thân.
     
  10. quochuy86

    quochuy86 Thành viên chính thức

    không ý mình là như thế này. cái file của ban boong mình copy về và đã chạy rất tốt, nhưng khi mình copy code trong modune của bạn ấy ra 1 file mới thì nó không chạy được. Khi sử dụng mình thấy nó có nhảy 1 msgbox thông báo là chưa có dữ liệu( trường hợp chưa có dữ liệu), nhưng mình xem đoạn code trong vba thì không thấy có. nên mình không biết là đã copy thiếu cái jf cả.
    Thân!
     
  11. Po_Pikachu

    Po_Pikachu Po_pikachu@ymail.com

    À thì ra bạn mới copy phần code trong Module thôi. Còn code nằm trong Sheet nữa bạn à!
    Bạn nhấn phải chuột lên tên Sheet FORM trong cửa sổ bảng tính của Excel đó. Chọn View Code thì bạn sẽ thấy code nằm trong đó điều khiển quá trình nhập liệu và nút lệnh Button nữa.
    Thân.
     
  12. quochuy86

    quochuy86 Thành viên chính thức

    to: pikachu cảm ơn bạn mình đã làm được rùi.
    Ah cho mình hỏi tý nữa mình không bít cái đoạn mã nào giúp cho nó khi copy dữ liệu sang sheet "BANG TONG HOP" nó tự động nhảy xuống hàng.
    Mình có nhu cầu thiết kế một file: nếu a1=2 nó sẽ tự động tăng thêm 1 dòng nữa. giống như trong bảng kê ấy.
    Thân!
     
  13. Po_Pikachu

    Po_Pikachu Po_pikachu@ymail.com

    Vầy nha! Để mình thiết kế cho bạn luôn. Rồi chỉ bạn tại sao mình lại viết code như vậy?
    Vấn đề không phải mình không chỉ bạn được mà ngại bản quyền của bạn Boong kia thôi. Và cũng để bạn xem cho dễ hiểu. Theo mình code trên còn rườm rà quá!
    Thân.
     
  14. quochuy86

    quochuy86 Thành viên chính thức

    to: pikachu Cảm ơn bạn trước nha! chắc là bạn boong sẽ k ý kiến j đâu( đoán thôi nha :)) vì bạn ấy post lên đây là đã free và mong muốn mọi người cùng phát triển và hoàn thiện rùi .:D
    :D
     
  15. tuyetbay

    tuyetbay Thành viên hoạt động

    Code lấy thông tin từ các dòng dữ liệu
    PHP:
        Sheets("Form").Select
        Ten 
    Range("B3").Value
        DiaChi 
    Range("B4").Value
        Phone 
    Range("B5").Value
    Code chuyển qua Sheet Tổng Hợp.
    PHP:
        Sheets("Bang Tong Hop").Select
        n 
    Range("F1").Value
        Range
    ("B1").Select
        ActiveCell
    .Offset(30).Value Ten
        ActiveCell
    .Offset(31).Value DiaChi
        ActiveCell
    .Offset(32).Value Phone
    Code này lấy thông số để tăng lên cho từng dòng.
    PHP:
    Range("F1").Value
    Bác xem ô F1 bên Sheet Tổng Hợp sẽ thấy.
    Thân.
     
  16. quochuy86

    quochuy86 Thành viên chính thức

    to: tuyetbay
    Cảm ơn bạn nha mình đã hơi hỉu hỉu rồi. để ngâm cứu thêm :D
     
  17. tdis

    tdis Thành viên mới

    bài này hay quá! có cách nào làm ở sheet "form" và sheet "Bảng tổng hợp", nếu bổ sung thêm hàng thì tự động bổ sung mới ở sheet "Bảng tổng hợp không? có ai biết giúp mình với! Cảm ơn nhiều!
     
  18. HopBVB

    HopBVB Thành viên chính thức

    nhập liệu nhanh

    Cũng quan tâm đến việc nhập số liệu trên excel, mình rất mong các bạn giúp phần này:
    Mình có một file excel, muốn nhập số liệu ở một sheet1, sau khi enter (hoặc click) vào ô nào đó thì nó tự nhập dữ liệu vào sheet 2.
    Các bạn giúp mình nhé.
     

    Các file đính kèm:

    Lần chỉnh sửa cuối: 9 Tháng tám 2010
  19. SA_DQ

    SA_DQ Thành viên danh dự

    Bạn xài macro sau & cho í kiến!

    PHP:
    Option Explicit
    Sub NhapLieu
    ()
     
    Dim HTen As RangeoTo As RangeXeMay As RangeNguoi As Range
     Dim Chay 
    As RangeHang As RangeKThuat As RangeTau As Range
     Dim sRng 
    As Range:                         Dim Sh As Worksheet
     Dim Col 
    As StringJj As ByteeRw As Long
     
     Set HTen 
    Range("B3:B5"):                 Set oTo Range("B8:B13")
     
    Set XeMay Range("B16:B21"):              Set Nguoi Range("B24:B28")
     
    Set Chay Range("B31:B36"):               Set Hang Range("B39:B43")
     
    Set KThuat Range("B46:B50"):             Set Tau Range("B53:B57")
     
    Set Sh Sheets("Bang Tong Hop"):          Application.ScreenUpdating False
     
    If [b3].Value <> "" Then
        eRw 
    Sh.[b65500].End(xlUp).Row 1
        
    For Jj 1 To 8
            Set sRng 
    Choose(JjHTenoToXeMayNguoiChayHangKThuatTau)
            
    Col Choose(Jj"B""E""K""Q""V""AB""AG""AL")
            
    sRng.Copy
            With Sh
    .Range(Col eRw)
                .
    PasteSpecial Paste:=xlPasteValuesOperation:=xlNoneSkipBlanks:= _
                    False
    Transpose:=True
                Application
    .CutCopyMode False
            End With
        Next Jj
     
    Else
        
    MsgBox "CAN NHAP TEN NGUOI DONG BAO HIEM!", , "GPE.COM"
        
    Exit Sub
     End 
    If
     
    MsgBox "DA NHAP XONG RECORD NAY!", , "GPE.COM"
     
    [b3] = ""
    End Sub
     
  20. Hai Lúa Miền Tây

    Hai Lúa Miền Tây Chuyên gia GPE Staff Member Super Moderator

    Theo mình nghĩ mình dùng = user form để nhập liệu cho nó dể nhập hơn, file của bạn có tất cả 7 danh mục bảo hiểm thì mình tạo 7 cái tab trong form, mỗi 1 tab là 1 danh mục, bạn muốn nhập danh mục nào thì nhấn vào danh mục đó cho nó đở rối.
    Bạn tham khảo trong file đính kèm của mình nhé
    Thân
     

    Các file đính kèm:

Chia sẻ trang này