Gõ vào 1 ô và được cộng dồn vào 1 ô khác (1 người xem)

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

toandiennuoc123

Thành viên thường trực
Tham gia
7/3/12
Bài viết
239
Được thích
9
VD: Gõ 10 vào A1 cho kết quả vào A2
Gõ 15 vào A1 cho kết quả cộng dồn vào A2
Gõ 25 vào A1 cho kết quả cộng dồn vào A2
Gõ nhiều lần số bất kì vào A1 đều cho kết quà vào A2.
 
VD: Gõ 10 vào A1 cho kết quả vào A2
Gõ 15 vào A1 cho kết quả cộng dồn vào A2
Gõ 25 vào A1 cho kết quả cộng dồn vào A2
Gõ nhiều lần số bất kì vào A1 đều cho kết quà vào A2.
Cái này mà làm bằng công thức thì "Hổng biết", tạm xài VBA đi.
Nhập vào cột A, kết quả cộng dồn ở cột B, số lần nhập ở cột C.
 

File đính kèm

Pro ơi, sao không dùng thử được nhỉ ?. (Thay địa chỉ của ô khác thì không xài được)
 
Cái này mà làm bằng công thức thì "Hổng biết", tạm xài VBA đi.
Nhập vào cột A, kết quả cộng dồn ở cột B, số lần nhập ở cột C.

Sửa lại bài anh BATE một tí cho gọn hơn nha
ở đây em sử dụng biến Static để lưu trữ lại giá trị của từng số mỗi khi nhập
PHP:
Function congdon() As Long
        Static s
        s = s + Range("A1").Value
         congdon = s
End Function
Gọi hàm
PHP:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
       If Not Intersect(Target, [A1]) Is Nothing Then
           Range("B1").Value = congdon
   End If
End Sub
 

File đính kèm

Chủ yếu file của tôi nó có hoạt động không? Nếu có, bạn tự nghiên cứu đi
Đây cũng 1 trong những điều kỳ thú của Excel đấy
Thầy ơi gợi ý cho em về điều kì diệu trong file của thầy với ạ. Em cũng chưa biết về công thức vòng này thầy ơi.
 
Thầy ơi gợi ý cho em về điều kì diệu trong file của thầy với ạ. Em cũng chưa biết về công thức vòng này thầy ơi.
Muốn xài được tham chiếu vòng, đương nhiên phải Enable iterative calculation trong Excel Options rồi
(vào Options xem là biết liền)
 
Lần chỉnh sửa cuối:
Muốn xài được tham chiếu vòng, đương nhiên phải Enable iterative calculation trong Excel Options rồi
(vào Options xem là biết liền)
Trong trường hợp cụ thể này thì đúng là làm chơi thôi chứ không nên áp dụng. Lúc nãy em thử hoài mà không được. Thì ra là khi nhập số vào A1 xong mà dùng chuột click vào ô khác thì số không được cộng dồn (do Cell("address") là địa chỉ ô vừa được click chuột. Ngược lại, khi nhập liệu vào một ô nào đó và click chuột vào ô A1 thì kết quả lại được cộng dồn một lần nữa.
 
Trong trường hợp cụ thể này thì đúng là làm chơi thôi chứ không nên áp dụng. Lúc nãy em thử hoài mà không được. Thì ra là khi nhập số vào A1 xong mà dùng chuột click vào ô khác thì số không được cộng dồn (do Cell("address") là địa chỉ ô vừa được click chuột. Ngược lại, khi nhập liệu vào một ô nào đó và click chuột vào ô A1 thì kết quả lại được cộng dồn một lần nữa.
Ủa, sao kỳ vậy ta?
Trên máy tôi, gõ bình thường, ra kết quả bình thường mà chẳng cần phải click chuột gì đó như bạn nói cả
Đồng ý là Cell("address") là địa chỉ của ActiveCell nhưng nó cũng đâu thể tự cập nhật nhanh đến vậy chứ! Chỉ khi có thay đổi, nó mới cập nhật mà
 
Ủa, sao kỳ vậy ta?
Trên máy tôi, gõ bình thường, ra kết quả bình thường mà chẳng cần phải click chuột gì đó như bạn nói cả
Đồng ý là Cell("address") là địa chỉ của ActiveCell nhưng nó cũng đâu thể tự cập nhật nhanh đến vậy chứ! Chỉ khi có thay đổi, nó mới cập nhật mà
Anh thử gõ số vào ô A1 rồi click chuột vào ô khác (gõ số rồi không nhấn Enter hay bất kỳ phím nào khác) xem kết quả có được cộng vào không.
 
Anh thử gõ số vào ô A1 rồi click chuột vào ô khác (gõ số rồi không nhấn Enter hay bất kỳ phím nào khác) xem kết quả có được cộng vào không.

Em đã thử nó không cộng dồn vào anh ạ. Chỉ khi nào gõ vào ô A1 thì nó mới cộng dồn tiếp.
 
Anh thử gõ số vào ô A1 rồi click chuột vào ô khác (gõ số rồi không nhấn Enter hay bất kỳ phím nào khác) xem kết quả có được cộng vào không.
Điều đó đương nhiên rồi
Nhưng ai lại tốn công rờ con chuột để click thế chứ... Gõ xong thì cứ Enter bình thương là được rồi
Còn vụ click chuột như Thắng nói thì... ráng chịu nghen!
Ẹc... Ẹc...
 
Điều đó đương nhiên rồi
Nhưng ai lại tốn công rờ con chuột để click thế chứ... Gõ xong thì cứ Enter bình thương là được rồi
Còn vụ click chuột như Thắng nói thì... ráng chịu nghen!
Ẹc... Ẹc...
Tại em dùng 1 tay chuột 1 tay phím mà. Nhất là khi xem file.
 
Giữa công thức này:
và công thức này cho kết quả như nhau. Vì sao mình không dùng công thức 2 vậy các anh, có thể theo kiểu click chuột của Thắng nữa.
Thì bạn thử đi sẽ biết, đâu cần hỏi
Thử bằng cách sau:
- Gõ số nào đó vào A1 ---> Xem kết quả ở A2
- Gõ số nào đó vào cell nào đó, miễn không phải là A1:A2 ---> Xem kết quả ở A2
- Gõ chuổi vào A1, xem kết quả ở A2
==> Chừng nào người ta gõ đúng vào A1 và phải là kiểu số thì mới cộng dồn vào A2 chứ, chẳng lẽ lúc nào cũng cộng à?
 
Làm thử bằng công thức xem sao
Ẹc.... Ẹc...
Đây cũng chỉ là 1 trò chơi để nghiên cứu là chính, đương nhiên dùng VBA vẫn tốt hơn

Thưa thày dùng hàm gì để đếm số lần nhập vào của ô A2 (kết quả này điền vào ô B2). Tức mục đích của em là muốn kiểm soát xem ô A2 đã thêm cho ô A1 bao nhiêu lần ý mà

-----------
Em cứ nghĩ thế này được rồi
PHP:
= IF(AND(ISNUMBER(A1));A1+A2;A2)

sao lại phải thêm thành phần Address vào để làm gì ah?
PHP:
= IF(AND(CELL("address")="$A$1";ISNUMBER(A1));A1+A2;A2)
 
Lần chỉnh sửa cuối:
Thưa thày dùng hàm gì để đếm số lần nhập vào của ô A2 (kết quả này điền vào ô B2). Tức mục đích của em là muốn kiểm soát xem ô A2 đã thêm cho ô A1 bao nhiêu lần ý mà
Công thức tại B1 là:
PHP:
= IF(AND(CELL("address")="$A$1",ISNUMBER(A1)),B1+1,B1)

Em cứ nghĩ thế này được rồi
PHP:
= IF(AND(ISNUMBER(A1));A1+A2;A2)

sao lại phải thêm thành phần Address vào để làm gì ah?
PHP:
= IF(AND(CELL("address")="$A$1";ISNUMBER(A1));A1+A2;A2)
Lý do vì ta muốn chỉ khi nhập vào A1 thì mới cộng dồn... Thử bỏ CELL("address") rồi nhập số nào đó vào cell khác A1 xem (gõ vào C1 chẳng hạn)
 
em đang cần cái này quá,mà e ko biết chèn cái mã trên vào đâu?như thế nào?e mù tit ?Ai có bản nào chạy rồi cho e xin với.hihi
 
AI làm thành công cái này rồi nhỉ,giúp em với??
 
Cảm ơn mọi người. Đúng cái em tìm và đã làm được ạ. Cho e hỏi thêm là vì sao ko nên dùng công thức vậy?
 
Function congdon() As Long
Static s
s
= s + Range("A1").Value
congdon
= s
End
Function
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If
Not Intersect(Target, [A1]) Is Nothing Then
Range
("B1").Value = congdon
End
If
End Sub
mọi người cho em hỏi.em muốn sử dụng A1 thi với B1 rồi.còn em muốn với nhiều ô khác như,A2 với B2,và A3 với B3 và tiếp tục nữa thì làm sao
em xin cảm ơn
 

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

Back
Top Bottom