• Thứ Sáu, 15/05/2009 14:39 (GMT+7)

    Xử lý cell bằng VBA trong MS Excel

    Câu hỏi :
    Form tạo trên Visual Basic Editor của Excel có 1 textbox để nhập liệu. Tôi muốn sau khi nhập dữ liệu trên Form thì dữ liệu này sẽ được cộng thêm vào 1 cell xác định của một sheet Excel (thí dụ giá trị hiện hành của cell này là 10, nhập vào 5 thì giá trị mới của cell là 15). Xin hướng dẫn.


    Trả lời :
    Về nguyên tắc, bạn có thể viết code VBA trong Excel để xử lý nội dung của bảng tính Excel theo yêu cầu bất kỳ của bạn. Cụ thể, để giải quyết yêu cầu của bạn trong câu hỏi, bạn có thể tiến hành xây dựng Form cập nhật dữ liệu theo các bước sau:

     1. Chạy Excel, mở file Excel chứa bảng tính cần xử lý.
     2. Chọn menu Tools.Macro.Visual Basic Editor để mở cửa sổ soạn code VBA.
     3. Dời chuột vào cửa sổ Project, dời chuột đến mục miêu tả file Excel đang xử lý, ấn phải chuột vào nó để hiển thị menu lệnh, chọn mục Insert.UserForm để tạo 1 form mới.
     4. Thiết kế UserForm như hình sau gồm 1 button với tên là btnStart, 1 TextBox nhập liệu có tên mặc định là TextBox1.
     5. Tạo thủ tục xử lý sự kiện Click chuột trên button và viết code cho nó như sau:
     'thủ tục cập nhật giá trị cell xác định
     Private Sub btnStart_Click()
     Dim Val As Double
     'chọn cell cần xử lý (giả sử là Sheet1!B1)
     Application.Worksheets("Sheet1").Range("B1").Select
     'lấy nội dung hiện hành của cell
     Val = CDbl(ActiveCell.Value)
     'cộng với nội dung mới nhập vào trong Form
     Val = Val + CDbl(TextBox1.Text)
     'ghi lại cell cần cập nhật
     ActiveCell.Value = Val
     End Sub
     
     7. Chọn menu Run.Run Sub/UserForm để chạy thử UserForm vừa xây dựng được.
     
    Chuyên mục: Lập trình