Đó cũng là 1 cách. Nhưng đơn giản nhất là thay vì target là ô chứa công thức, đổi target là ô chứa tham chiếu của công thức. Đánh từ gốc, không đánh ngọn.
Đó cũng là 1 cách. Nhưng đơn giản nhất là thay vì target là ô chứa công thức, đổi target là ô chứa tham chiếu của công thức. Đánh từ gốc, không đánh ngọn.
'Trong ThisWorkbook
Public pubValue
Private Sub Workbook_Activate()
pubValue = Sheet1.Range("i5").Value
End Sub
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
Application.EnableEvents = False
If pubValue <> Sheet1.Range("i5").Value Then
LAM_MOI
pubValue = Sheet1.Range("i5").Value
End If
Application.EnableEvents = True
End Sub
'Trong Module1
Sub LAM_MOI()
Range("AR4:BV19").Copy Range("G10")
Application.CutCopyMode = False
End Sub
Nên sửa lại là "Chuyện là em có sưu tầm một đoạn mã ...".
Nếu gặp cao thủ thì họ biết code chuẩn, chứ thằng không biết code như mình nhìn cứ tưởng code tào lao (áy náy quá).
PS: Vẫn không được, mở thêm file excel khác là copy tè le luôn. Thôi ta đành bó tay, chúng tôi đã cố gắng hết sức.
'Trong ThisWorkbook
Public pubValue
Private Sub Workbook_Activate()
pubValue = Sheet1.Range("i5").Value
End Sub
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
Application.EnableEvents = False
If pubValue <> Sheet1.Range("i5").Value Then
LAM_MOI
pubValue = Sheet1.Range("i5").Value
End If
Application.EnableEvents = True
End Sub
'Trong Module1
Sub LAM_MOI()
Range("AR4:BV19").Copy Range("G10")
Application.CutCopyMode = False
End Sub
Nên sửa lại là "Chuyện là em có sưu tầm một đoạn mã ...".
Nếu gặp cao thủ thì họ biết code chuẩn, chứ thằng không biết code như mình nhìn cứ tưởng code tào lao (áy náy quá).
Đọc lại bài 52 và gợi ý bài 54 (tại sao chạy hoài). Bạn có cái tật rất lớn là không đọc, hoặc đọc không kỹ. Làm thì không test rồi ý với ủa. Kết quả là viết linh tinh (bị xóa rất nhiều)
Em chỉ đồng ý câu cuối thôi.
Còn 2 câu đầu em ghép lại thế này: em có đọc, đọc kỹ, có test nhưng test không kỹ.
Với lại mấy cái auto này hình như không undo được, chắc em không biết thêm code undo hoặc sai ở chỗ nào.
Và như trên đã viết: em bó tay và thôi chịu!!!
Có đọc, đọc kỹ mà không hiểu thì gọi là gì thì biết rồi á.
Tham chiếu của công thức là gì mà không biết?
Bảo "Sự kiện Calculation không có tham số target" mà không hiểu?
Bảo "đừng dùng calculation" mà cũng vẫn không hiểu?
Đổi target cũng không biết luôn?
Thường thì sẽ gọi là ngu, dốt. Cái này thì trên diễn đàn em cũng tự nhận suốt ấy mà, tự nhận thì em thoải mái, nhưng người khác nói thì cũng tự ái lắm.
Cơ mà cứ nói bóng gió thì em lại thấy bình thường, cứ thầm hiểu là được.
Mấy cái tham số ở dưới thì em chịu, em mà biết thì chỉ cần trong vòng 30 phút là xong. Tìm hiểu thì cũng được, nhưng càng tìm hiểu càng rối nên em chọn bỏ cuộc.
Vậy mới gần bá đạo thôi, cố tí nữa là bá đạo.
Thêm nữa là trém gió vừa thôi, khiêm tốn là tốt, nhưng khiêm tốn kiểu phi lý quá thì nó lại phi lý kiểu rất phi lý.
Vậy mới gần bá đạo thôi, cố tí nữa là bá đạo.
Thêm nữa là trém gió vừa thôi, khiêm tốn là tốt, nhưng khiêm tốn kiểu phi lý quá thì nó lại phi lý kiểu rất phi lý.
Dễ mà, vậy thì xử lý đúng theo bài 1, bài 1 chưa rõ bắt phải edit lại hoặc đăng bài mới, hủy bài cũ.
Nhiều khi những chủ đề 10, 20 trang mà mãi dưới vẫn còn yêu cầu khác nên rất khó để tìm được kết quả đúng để tham khảo. Xem hết từng đấy trang rồi phải xem lại để tìm bài chốt cuối cùng, ối giời thời gian thật là mênh mông. Xem thì bực mà không xem thì không biết cuối cùng nó thế lào.
Đó cũng là 1 cách. Nhưng đơn giản nhất là thay vì target là ô chứa công thức, đổi target là ô chứa tham chiếu của công thức. Đánh từ gốc, không đánh ngọn.
Có cái em không hiểu cho lắm. đổi target là ô chứa tham chiếu của công thức tức là ta đặt công thức tại một ô bất kì và tham chiếu nó tới ô "I5" phải không ạ?
Có cái em không hiểu cho lắm. đổi target là ô chứa tham chiếu của công thức tức là ta đặt công thức tại một ô bất kì và tham chiếu nó tới ô "I5" phải không ạ?
Nếu code Worksheet_Change có target là I5 thì sẽ không chạy vì I5 chứa công thức phải không?
Nếu I5 là công thức tham chiếu đến B3, C4 chẳng hạn như I5 = B3 + C4, thì khi thay đổi 1 trong 2 ô B3 và C4, I5 cũng thay đổi nhưng code không chạy.
Vậy tại sao không lấy 1 trong 2 ô (hoặc cả 2 ô) B3, C4 làm target?
------
Thay vì
If Not Intersect(Target, Range("I5") Is Nothing Then
Thì thay nguồn (gốc) của I5 vào câu lệnh đó?
Đơn giản lắm luôn mà.
--------
Không hiểu mà hỏi thì tôi sẵn sàng trả lời, còn nếu ai buông xuôi thì ráng chịu mang tiêng n
Nếu code Worksheet_Change có target là I5 thì sẽ không chạy vì I5 chứa công thức phải không?
Nếu I5 là công thức tham chiếu đến B3, C4 chẳng hạn như I5 = B3 + C4, thì khi thay đổi 1 trong 2 ô B3 và C4, I5 cũng thay đổi nhưng code không chạy.
Vậy tại sao không lấy 1 trong 2 ô (hoặc cả 2 ô) B3, C4 làm target?
------
Thay vì
If Not Intersect(Target, Range("I5") Is Nothing Then
Thì thay nguồn (gốc) của I5 vào câu lệnh đó?
--------
Không hiểu mà hỏi thì tôi sẵn sàng trả lời, còn nếu ai buông xuôi thì ráng chịu mang tiêng n
Vậy là một trong hai Ô "B3", "C4" phải có tác động thay đổi một cách thủ công phải không ạ. là click chuột vào để thay đổi giá trị của ô ? Nếu là như vậy thì không đúng mục đích ạ. vì "I4" là công thức thời gian tự thay đổi cơ ạ.
Nếu code Worksheet_Change có target là I5 thì sẽ không chạy vì I5 chứa công thức phải không?
Nếu I5 là công thức tham chiếu đến B3, C4 chẳng hạn như I5 = B3 + C4, thì khi thay đổi 1 trong 2 ô B3 và C4, I5 cũng thay đổi nhưng code không chạy.
Vậy tại sao không lấy 1 trong 2 ô (hoặc cả 2 ô) B3, C4 làm target?
------
Thay vì
If Not Intersect(Target, Range("I5") Is Nothing Then
Thì thay nguồn (gốc) của I5 vào câu lệnh đó?
Đơn giản lắm luôn mà.
--------
Không hiểu mà hỏi thì tôi sẵn sàng trả lời, còn nếu ai buông xuôi thì ráng chịu mang tiêng n