Nhờ giải đáp Refresh trong VBA! (1 người xem)

Liên hệ QC

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

phuonghuynhduy

Thành viên mới
Tham gia
21/2/07
Bài viết
3
Được thích
0
Chào các bạn!
Mình có vấn đề này mong các bạn giúp.
Mình lập 1 đoạn VBA với yêu cầu sau:
1. Cột diễn giải: Diễn giải công thức tính. VD: (3+2.5)/2*15.
2. 1 Nút lệnh: Khi nhấn nút lệnh thì ô bên cạnh ô diễn giải ở trên sẽ có biểu thức: =round((3+2.5)/2*15,2)
Tức là copy nội dung ô diễn giải --> dùng thêm hàm round.
Kết quả là đúng theo ý muốn. Nhưng tại sao ô kết quả là 1 biểu thức mà nó không tính toán được (nó ra nguyên chuỗi =round((3+2.5)/2*15,2))
Vì mình muốn ô kết quả là 1 biểu thức tính toán ra đúng số luôn (Ví dụ ở trên là 41.25).

Đây là file. Mong các bạn xem giúp.
 

File đính kèm

Chào các bạn!
Mình có vấn đề này mong các bạn giúp.
Mình lập 1 đoạn VBA với yêu cầu sau:
1. Cột diễn giải: Diễn giải công thức tính. VD: (3+2.5)/2*15.
2. 1 Nút lệnh: Khi nhấn nút lệnh thì ô bên cạnh ô diễn giải ở trên sẽ có biểu thức: =round((3+2.5)/2*15,2)
Tức là copy nội dung ô diễn giải --> dùng thêm hàm round.
Kết quả là đúng theo ý muốn. Nhưng tại sao ô kết quả là 1 biểu thức mà nó không tính toán được (nó ra nguyên chuỗi =round((3+2.5)/2*15,2))
Vì mình muốn ô kết quả là 1 biểu thức tính toán ra đúng số luôn (Ví dụ ở trên là 41.25).

Đây là file. Mong các bạn xem giúp.
Sửa thành đoạn code này xem sao
[GPECODE=vb]
x = "round(" & SelRange.Cells(i, 1).Value & ",2)"

ActSheet.Cells(SelRange.Cells.Row + i - 1, SelRange.Cells.Column + 1).Value = Application.Evaluate(x)
[/GPECODE]
 
Upvote 0
Cảm ơn bạn đã trả lời. Nhưng mình muốn ô kết quả là 1 công thức =round(....). Vì mình làm bảng khối lượng để chủ đầu tư kiểm tra đó mà.
Có bạn nào xem giúp mình với.
Thx.
 
Upvote 0
Cảm ơn bạn đã trả lời. Nhưng mình muốn ô kết quả là 1 công thức =round(....). Vì mình làm bảng khối lượng để chủ đầu tư kiểm tra đó mà.
Có bạn nào xem giúp mình với.
Thx.
1/ Chọn 1 hoặc nhiều ô trong cột C
2/ Bằng cách nào đó cho Sub chạy
[GPECODE=vb]Public Sub GPEX()
Dim Cll As Range
On Error Resume Next
For Each Cll In Selection
Cll.Offset(, 1).Value = "=Round(" & Cll.Value & ",0)"
Next Cll
End Sub[/GPECODE]
 
Upvote 0
Tuyệt vời. Mình không quen viết VBA nên không hiểu hàm Offset.
Cảm ơn bạn.
 
Upvote 0

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

Back
Top Bottom