bác nào cho em hỏi về autofill tý

Liên hệ QC

kegiaumat

Thành viên mới
Tham gia
6/7/08
Bài viết
34
Được thích
0
các bác ơi em có một vấn đề là em muốn khi dùng chuột autofill một dòng hay một cột nào đó thì excel sẽ phát hiện ra và hiện ra một thông báo (có thể dòng thông báo này là một tập hợp lệnh để sau này mình áp dụng vào chương trình của mình). em đang định dùng trong Worksheet_Change nhưng mà không biết làm thế nào để nhận biết được autofill nhận giá trị true.
cảm ơn các bác nhiều mong nhận được trợ giúp của các bác sớm
 
các bác ơi em có một vấn đề là em muốn khi dùng chuột autofill một dòng hay một cột nào đó thì excel sẽ phát hiện ra và hiện ra một thông báo (có thể dòng thông báo này là một tập hợp lệnh để sau này mình áp dụng vào chương trình của mình). em đang định dùng trong Worksheet_Change nhưng mà không biết làm thế nào để nhận biết được autofill nhận giá trị true.
cảm ơn các bác nhiều mong nhận được trợ giúp của các bác sớm
Cái này e rằng quá khó!
Có chăng bạn nên nói rõ mục đích! Cụ thể bạn muốn bắt sự kiện AutoFill để làm cái gì? Biết đâu sẽ có cách khác giải quyết được yêu cầu!
 
Upvote 0
trong bảng tính của em thì em sử dụng sự kiện Worksheet_Change để điều khiển từng ô tính. tức là khi thay đổi giá trí 1 ô tính thì làm thay đổi các ô tính ở các sheet khác (cái này cũng được điều khiển bằng VBA). Nhưng mà khi mình autofill thì nó không hiểu đó là sự kiện worsheet_change thì phải nó không thay đổi giá trị các ô tính của các sheet khác
 
Upvote 0
trong bảng tính của em thì em sử dụng sự kiện Worksheet_Change để điều khiển từng ô tính. tức là khi thay đổi giá trí 1 ô tính thì làm thay đổi các ô tính ở các sheet khác (cái này cũng được điều khiển bằng VBA). Nhưng mà khi mình autofill thì nó không hiểu đó là sự kiện worsheet_change thì phải nó không thay đổi giá trị các ô tính của các sheet khác
Tôi biết rồi! Phải dùng vòng lập bạn à!
Ví dụ thế này nhé:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim Clls As Range
  If Not Intersect([A1:A10], Target) Is Nothing Then
    For Each Clls In Target
      Sheet2.Range("A" & Clls.Row) = Now
    Next
  End If
End Sub
Sự kiện Change tác dụng tại vùng A1:A10 của sheet1 và code thực thi lệnh tại sheet2
Code này chạy được luôn ngay cả trường hợp bạn AutoFill hoặc copy\paste
Thí nghiệm xem
 
Upvote 0
cảm ơn bác nhiều cách này em cũng làm rồi nhưng bảng tính của em hơi phức tạp có nhiều vòng lặp quá nên em phải để cái Application.EnableEvents = False trước sự kiện change để tăng tốc độ của chương trình sau đó em mới update từng mục dần.
thế ko có cách nào điều kiển được sự kiện autofill nhỉ.
dù sao cũng cảm ơn bác nhiều nhiều
 
Upvote 0
cảm ơn bác nhiều cách này em cũng làm rồi nhưng bảng tính của em hơi phức tạp có nhiều vòng lặp quá nên em phải để cái Application.EnableEvents = False trước sự kiện change để tăng tốc độ của chương trình sau đó em mới update từng mục dần.
thế ko có cách nào điều kiển được sự kiện autofill nhỉ.
dù sao cũng cảm ơn bác nhiều nhiều
Bạn vào menu Tools\Options, trong tab Edit, bỏ chọn mục "Allow cell drag and drop" để cấm AutoFill luôn đi là xong!
-------------
Để tăng tốc, bạn nên xem lại cấu trúc dữ liệu và code đi, còn hơn là đi giải quyết những chuyện vặt
 
Upvote 0
nghe có vẻ hợp lý đó.
à bác cho em hỏi phát nữa là em có sử dụng các phím tắt và các menu hỗ trợ và em sử dụng đoạn cost này để loại bỏ các ứng dụng trên khi work book không còn activate
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
hientoolbar
' xoa label duoi
Application.DisplayStatusBar = True
Application.StatusBar = "Ready"
' xoa label tren
Application.Caption = ""
'xoa phim tat
Application.OnKey "^~"
Application.OnKey "^{Enter}"
Application.OnKey "^i"
Application.OnKey "^I"
Application.OnKey "^{del}"
Application.OnKey "^{o}"
Application.OnKey "^{S}"
Application.OnKey "^{n}"
Application.OnKey "^%{s}"
'xoa chuot
Application.CommandBars("Cell").Reset
Application.CommandBars("Plot Area").Reset
End Sub
bình thường thì đoạn cost này hoạt đọng ổn nhưng có một số lúc mở một bảng excel khác ra nó vẫn bị dính các ứng dụng trên (các phím tat hoặc có thêm menu) là sao hả các bác
 
Upvote 0
Web KT

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

Back
Top Bottom