Vùng chọn chia cho 1 số giữ nguyên công thức (3 người xem)

  • Thread starter Thread starter lightd
  • Ngày gửi Ngày gửi

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

lightd

Thành viên chính thức
Tham gia
12/10/11
Bài viết
63
Được thích
12
Chào anh chị em chỉ mới học VBA mong anh chị chỉ giáo cho công việc thực tế em đang gặp phải và em cần viết tôl)
Người dùng chọn vùng chọn cần chia sau đó nhập vào text box số cần chia ( chương trình lập trình )
Sẽ thực hiện chia các số trong vùng chọn đó vẫn giữ công thức cơ hiện tại nó : ví dụ ô A3 của nó = A2*A1 khi mình chọn A3 nhập số cần chia là 100 thì nó tự bổ sung và thực hiện như sau : A2*A1/100
Để dễ dàng sử dụng bạn có thể giúp mình cách viết tạo menu trong excel thi như sau : công cụ -
 
Lần chỉnh sửa cuối:
Chào anh chị em chỉ mới học VBA mong anh chị chỉ giáo cho công việc thực tế em đang gặp phải và em cần viết tôl)
Người dùng chọn vùng chọn cần chia sau đó nhập vào text box số cần chia ( chương trình lập trình ) ...
Cảm ơn rất nhiều
Có thể sử dụng cách thủ công này trong công việc của bạn:
Gõ số cần chia vào 1 ô nào đó, coppy ô này vào Paste Special vào vùng cần chia, chọn Divide > Ok. Tương tự đối với các phép tính còn lại (cộng, trừ, nhân).
 
Upvote 0
Chào anh chị em chỉ mới học VBA mong anh chị chỉ giáo cho công việc thực tế em đang gặp phải và em cần viết tôl)
Người dùng chọn vùng chọn cần chia sau đó nhập vào text box số cần chia ( chương trình lập trình )
Sẽ thực hiện chia các số trong vùng chọn đó vẫn giữ công thức cơ hiện tại nó : ví dụ ô A3 của nó = A2*A1 khi mình chọn A3 nhập số cần chia là 100 thì nó tự bổ sung và thực hiện như sau : A2*A1/100
Để dễ dàng sử dụng bạn có thể giúp mình cách viết tạo menu trong excel thi như sau : công cụ -> chia 1 số cho trước.
Cảm ơn rất nhiều
learn3.png
Bạn thử code sau
Mã:
Sub a()
Dim x, c As Range
x = InputBox("so chia:")
For Each c In Selection
If c.HasFormula Then c.Formula = c.Formula & "/" & x
Next
End Sub
Nếu vùng chọn có cả ô chứa giá trị, cả text thì
Mã:
Sub a()
Dim x, c As Range
x = InputBox("so chia:")
For Each c In Selection
If c.HasFormula Then
c.Formula = c.Formula & "/" & x
ElseIf c <> "" And IsNumeric(c) Then
c = c / x
End If
Next
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn thử code sau
Mã:
...
If c.HasFormula Then c.Formula = c.Formula & "/" & x
...


Cộng và trừ thì có thể miễn cưỡng làm thẳng. Nhưng nhân chia thì khác, trước khi nhân chia, phải khép công thức trước đó trong dấu ngoặc.
vd công thức trước đó = a + b; đem chia cho x ===> = a + b / x
 
Upvote 0
cảm ơn bạn...............................
 
Lần chỉnh sửa cuối:
Upvote 0

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

Back
Top Bottom