2012-04-16 18 views
7

Tôi đã công thức đơn giản này trên tạp chí Cell A1Nhập Formula di động sử dụng VBA

=10*Round(B1/10,0) 

Tôi biết làm thế nào để nhập này trong VBA, tôi chỉ đơn giản viết:

Range("A1").Formula = "=10*Round(B1/10,0)" 

Bây giờ, những gì nếu tôi don' t biết các tế bào có số tôi muốn tròn? Nói cách khác, tôi có một biến số nguyên trong mã của tôi, N, có thể nhận nhiều giá trị và tôi muốn làm tròn số trong hàng số N của cột B.

Làm cách nào để viết? Tôi đã thử:

Range("A1").Formula = "=10*Round(B" & N & " & "/10",0)" 

Nhưng điều này không hiệu quả. Đã thử nhiều bố cục cho các dấu ngoặc kép nhưng không thành công.

bất cứ ai có thể cho tôi biết:

  1. Làm thế nào để nhập công thức đơn giản? và quan trọng hơn là
  2. Cung cấp một số liên kết/tham chiếu có thể giúp tôi nhập các công thức khác trong tương lai?

Cảm ơn

+2

'Phạm vi (" A1 ") Công thức =" = 10 * Vòng (B "& N &"/10,0) "' – Excellll

+3

Bạn đang làm tròn đến số 10 gần nhất? Công thức tương đương là '= ROUND (B1, -1)' –

+0

Barry: Cảm ơn bạn rất nhiều, đó là một mẹo rất hữu ích. Excelllll: Cũng cảm ơn rất nhiều. Bạn có biết nơi tôi có thể tìm thấy các quy tắc chung để nhập các công thức như thế này? Cảm ơn bạn rất nhiều –

Trả lời

5

Barry và Excellll đã giải quyết rõ ràng câu hỏi cụ thể của bạn. Đối với tổng quát hơn, tôi đã googled xung quanh, và đã rất ngạc nhiên khi không tìm thấy một hướng dẫn chung tốt về điều này. Đây là số short post từ Liều lượng hàng ngày của Excel.

Tôi bật trình ghi macro, tạo một số biểu mẫu, xem những gì bạn nhận được và sau đó là các sự cố cụ thể của google. Cuối cùng, một cuốn sách hay, như một trong những tựa đề "Power Programming in VBA" của John Walkenbach sẽ giúp bạn.

+0

+1 tìm kiếm tốt :) –

+0

+1 bài viết có cụm từ kết thúc vui :) –