Lê Khánh Toàn
Lê Khánh Toàn
Thảo luận 1 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 105 lượt xem

Khi nào thì mình mới truy cập đến thuôc tính value của đối tượng khi nào

Khi nào thì mình mới truy cập đến thuôc tính .value của đối tượng, khi nào không?

trong câu lênhj dứoi đây thì không

Private Sub tb_MucLuong_Change()

    tb_MucLuong = Format(tb_MucLuong, "#,##0")

    If tb_NgayCong <> "" And tb_MucLuong <> "" Then

        tb_TienLuong = tb_NgayCong * tb_MucLuong

    End If

End Sub


trong khi đó câu lệnh này thì lại phải có: 


Private Sub cmb_Luu_Click()

    'Tim dong cuoi trong bang du lieu can luu

    Dim DongCuoi As Long

        DongCuoi = Sheet1.Range("E" & Rows.Count).End(xlUp).Row        

    'Luu tung noi dung tuong ung theo cot

    With Sheet1

        .Range("E" & DongCuoi + 1).Value = tb_HoTen.Value

    .....

        .Range("J" & DongCuoi + 1).Value = CLng(Me.tb_TienLuong.Value)

    End With

    'Lam moi noi dung cua userform

        Unload Me   'Dong lai

        uf_ThemNhanVien.Show     'Mo len

End Sub


Thảo luận 1 câu trả lời
Lượt xem 105 lượt xem
Vỗ tay vỗ tay
Lê Khánh Toàn 12:03 - Mar 07, 2022

Thuộc tính .value là để làm rõ hơn thứ mình muốn lấy của đối tượng (là giá trị).

Thông thường khi không nhắc tới nó thì VBA vẫn hiểu là bạn lấy giá trị (quy ước ngầm hiểu của VBA)

.Range("E" & DongCuoi + 1).Value = tb_HoTen.Value
.Range("E" & DongCuoi + 1)= tb_HoTen

Nó chỉ khác biệt khi bạn chọn phương thức khác không phải .value như .text, .value2

.Text sẽ lấy những gì hiển thị trong đối tượng (chứ không phải bản chất giá trị của nó)

.Value2 sẽ lấy ra bản chất của thứ đang có trong đối tượng (có thể là giá trị rỗng, lỗi hoặc TRUE/FALSE). Nó hoạt động ngay cả khi đối tượng có hoặc không có nội dung gì.

Còn .Value là giá trị của dữ liệu với bản chất thông thường mà VBA hiểu được. Chỉ khi có dữ liệu thì .Value mới có ý nghĩa.

Thường thì khi viết code cơ bản chỉ dùng .value thôi, ít khi dùng .text hay .value2. Hai trường hợp này chỉ dùng trong một số mục đích rõ ràng, hiếm gặp.

Bạn hiểu đơn giản: .value là phổ biến nhất, viết hay không viết nó thì VBA vẫn hiểu được và đều quy định là phương thức .value

Vỗ tay vỗ tay
Câu hỏi liên quan
© 2020 - Bản quyền của Công Ty Cổ Phần Công Nghệ Giáo Dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở Kế hoạch và Đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ Thông tin và Truyền thông