Cách tạo ô tính tự động khi chọn ngẫu nhiên giá trị

  • Thread starter Thread starter kamplus
  • Ngày gửi Ngày gửi
Liên hệ QC

kamplus

Thành viên mới
Tham gia
12/2/15
Bài viết
20
Được thích
0
Chào các bạn,
Mình muốn tạo một cách tính tự động cho một ô mà giá trị chọn nhập vào để tính sẽ được chọn ngẫu nhiên.
ví dụ: J6 = A3+2
Lúc này giá trị tính là ô A3. Khi ta bấm chuột vào ô A4, A5,... thì ô J6 sẽ tự động thay đổi (chọn) giá trị tương ứng tại ô đó + 2.
Xem file sẽ hiểu rõ ý mình hơn. :)
 

File đính kèm

Chào các bạn,
Mình muốn tạo một cách tính tự động cho một ô mà giá trị chọn nhập vào để tính sẽ được chọn ngẫu nhiên.
ví dụ: J6 = A3+2
Lúc này giá trị tính là ô A3. Khi ta bấm chuột vào ô A4, A5,... thì ô J6 sẽ tự động thay đổi (chọn) giá trị tương ứng tại ô đó + 2.
Xem file sẽ hiểu rõ ý mình hơn. :)
Bạn thử Sub này xem sao
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [E6:F8]) Is Nothing Then
    Range("J6") = Target.Value + 100
End If
End Sub
 
Mình không biết chèn code :(
Bạn có thể chỉ thêm vài bước cho mình?
 
Cảm ơn bạn. Sau khi xem theo hướng của bạn mình đã hiểu. Nhưng mình có thắc mắc:
Tại sao khi chọn RUN thì nó yêu cầu tạo macro . Nhập tên > create thì ko thấy chạy gì hết. Cancel macro đi, save thì bảng tính đã hoạt động như ý muốn?!
 
Cảm ơn bạn. Sau khi xem theo hướng của bạn mình đã hiểu. Nhưng mình có thắc mắc:
Tại sao khi chọn RUN thì nó yêu cầu tạo macro . Nhập tên > create thì ko thấy chạy gì hết. Cancel macro đi, save thì bảng tính đã hoạt động như ý muốn?!
Khi bạn nhấp chuột vào vùng [E6:F8] thì macro tự chạy (RUN). Khỏi chọn RUN
 
Nếu xóa đi giá trị trên 1 ô (xem như ô trống trong range) thì kết quả nó báo một số ngẫu nhiên "trên trời rơi xuống". Mình nghĩ ko ra tại sao?
 
Nếu xóa đi giá trị trên 1 ô (xem như ô trống trong range) thì kết quả nó báo một số ngẫu nhiên "trên trời rơi xuống". Mình nghĩ ko ra tại sao?
Nếu xóa đi giá trị trên 1 ô, ô đó có giá trị là 0 tương đương ngày 0/1/1900, cộng 100 ngày cho kết quả là ngày 9/4/1900 không phải từ "trên trời rơi xuống"
 
Nếu xóa đi giá trị trên 1 ô (xem như ô trống trong range) thì kết quả nó báo một số ngẫu nhiên "trên trời rơi xuống". Mình nghĩ ko ra tại sao?

thay thành version sau cho đầy đủ theo nhu cầu mới, khi không là date thì J6 sẽ là ""

PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, [E6:F8]) Is Nothing Then
        On Error GoTo 112
        Application.EnableEvents = False
        If IsDate(Target.Value) Then
            Range("J6") = Target.Value + 100
        Else
            Range("J6") = ""
        End If
112:    Application.EnableEvents = True
    End If
End Sub
 
thay thành version sau cho đầy đủ theo nhu cầu mới, khi không là date thì J6 sẽ là ""
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)    If Not Intersect(Target, [E6:F8]) Is Nothing Then        On Error GoTo 112        Application.EnableEvents = False        If IsDate(Target.Value) Then            Range("J6") = Target.Value + 100        Else            Range("J6") = ""        End If112:    Application.EnableEvents = True    End IfEnd Sub
Nó không hiện là "" hay trống ô đó mà nó giữ nguyên ngày chọn cuối cùng.
 
Oh, mình xin lỗi Giola. Mình chọn nhầm ô. Code của bạn và Phuocam rất đúng với cái mình muốn! Lần nữa xin cảm ơn hai bạn rất nhiều! :)
 
Hoạt động OK rồi bạn. :)
À, nhân tiện mình muốn hỏi thêm là có thể chèn thêm text phía sau công thức tính đc không?
ví dụ: B2 = A1+12 --> Kết quả: B2 abc
Mình thử nhập
B2 = A1+12 'abc nhưng thất bại :)

Ps: Excel mình không rành nên nếu hỏi thuộc dạng tàu lau bạn bỏ qua cho :)
 
Hoạt động OK rồi bạn. :)
À, nhân tiện mình muốn hỏi thêm là có thể chèn thêm text phía sau công thức tính đc không?
ví dụ: B2 = A1+12 --> Kết quả: B2 abc
Mình thử nhập
B2 = A1+12 'abc nhưng thất bại :)

Ps: Excel mình không rành nên nếu hỏi thuộc dạng tàu lau bạn bỏ qua cho :)

Câu hỏi không rõ ràng?

túm lại A1 đang có giá trị gì???
B1 có công thức sao???
 
Ví dụ: A1 có giá trị là ngày 20/03/2015 ; B2 = 20/03/2015 + 12
Cái này của mình là dự tính thời gian. Thay vì tạo thêm 1 cột "Ngày dự tính" rồi tới cột "kết quả" ở trên thì mình muốn gom nó lại thành 1 cột Kết quả: 01/04/2015 dự tính
 
Ví dụ: A1 có giá trị là ngày 20/03/2015 ; B2 = 20/03/2015 + 12

thì tại A1 bạn nhập ngày: 20/03/2015
còn tại B2, nhập: =A1+12
(A1 ở đây hiểu là địa chỉ ô)




----
càng khó hiểu cái đoạn sau

Cái này của mình là dự tính thời gian. Thay vì tạo thêm 1 cột "Ngày dự tính" rồi tới cột "kết quả" ở trên thì mình muốn gom nó lại thành 1 cột Kết quả: 01/04/2015 dự tính
 
Ví dụ: A1 có giá trị là ngày 20/03/2015 ; B2 = 20/03/2015 + 12
Cái này của mình là dự tính thời gian. Thay vì tạo thêm 1 cột "Ngày dự tính" rồi tới cột "kết quả" ở trên thì mình muốn gom nó lại thành 1 cột Kết quả: 01/04/2015 dự tính

lại gia cát dự xem nào, bạn thử làm như sau

thì tại A1 bạn nhập ngày: 20/03/2015
còn tại B1, nhập: = TEXT(A1+12,"dd/mm/yyyy") & " dự tính"

có phải là kết quả B1 như bạn mong muốn
 
Bạn xem file mình đính kèm sẽ hiểu rõ ý mình hơn.
Mình cũng sửa thêm code của bạn chút xíu là mình muốn lấy giá trị của ô J6 đó tính luôn thêm 1 ô nữa và nếu giá trị J6 = 0 thì ô kia (L3) cũng = 0 thay vì nó hiện #value theo cách tính thông thường (L3 = J6 + 12).

J6 = 20/03/2015 (được tính từ code tự động của bạn đã cho ở trên).
 

File đính kèm

Bravo. Bạn giỏi quá. Giúp mình thêm cái sửa code lại nữa nhe. Mình đội ơn bạn luôn. hihi
 
Xem qua rồi, nhưng bạn nên học và tìm hiểu excel cơ bản đi nhé (phép cộng trừ, các hàm IF, SUM,...vv)

Khi biết excel có thể làm những gì, thì bạn sẽ biết đặt vấn đề của mình ra sao, và sẽ tự giải quyết được vấn đề.

Ở các vị trí bạn thêm đó, bạn chỉ cần dùng hàm IF và TEXT (như trên) là xong. Tìm hiểu hàm IF, TEXT.... trong sách, hoặc search tìm kiếm tại diễn đàn này.
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom