Xin Giúp đỡ Về Sự Kiện Worksheet_Change | Page 2

Giải Pháp Excel
  • Trang chủ Có gì mới Hoạt động gần nhất Tác giả
  • Diễn đàn Tìm bài viết mới Tìm theo chuyên mục
  • Video New Video về Excel Video về tin học khác Tin tức về tin học chung
  • Thông tin mới Tìm bài mới Tài Nguyên Mới Hoạt động gần nhất
  • Tài nguyên Đánh giá mới nhất Tìm tài nguyên
  • Facebook
  • Đóng góp
Đăng nhập Đăng Ký Có gì mới? Tìm kiếm

Tìm kiếm

Mọi nơi Đề tài Diễn đàn này Đề tài này Chỉ tìm trong tiêu đề Bởi: Tìm kiếm Tìm nâng cao…
  • Tìm bài viết mới
  • Tìm theo chuyên mục
Menu Đăng nhập Đăng Ký Install the app Install How to install the app on iOS

Follow along with the video below to see how to install our site as a web app on your home screen.

Note: This feature may not be available in some browsers.

  • Khách ơi! GPE thông tin đến bạn ấn phẩm "lập trình VBA trong Excel": - Phần cơ bản - Phần Nâng Cao - VBA trong Excel - Cải thiện và tăng tốc
  • Trang chủ
  • Diễn đàn
  • Lập Trình với Excel
  • Lập Trình với Excel
You are using an out of date browser. It may not display this or other websites correctly.You should upgrade or use an alternative browser. Xin giúp đỡ về Sự kiện Worksheet_Change
  • Thread starter trungvdb
  • Ngày gửi 15/2/12
Liên hệ QC T

trungvdb

Thành viên thường trực
Tham gia 22/8/08 Bài viết 374 Được thích 171 Nghề nghiệp Tài chính Giả sử tôi có đoạn Code sau PHP:Sao chép. Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$H$1" Then Range("A1").CurrentRegion.Copy: Range("A10").PasteSpecial 3 End If End Sub Bây giờ tôi muốn lệnh Copy chỉ được thực hiện khi ô H1>100 thì lệnh Copy mới thực hiện, tôi sửa thành PHP:Sao chép. Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$H$1" And Target > 100 Then Range("A1").CurrentRegion.Copy: Range("A10").PasteSpecial 3 End If End Sub thì nó lỗi, vậy xin hỏi mọi người chỉ cho cách viết đúng Trước
  • 1
  • 2
First Trước 2 of 2

Go to page

Tiếp tục Sắp xếp theo thời gian sắp xếp theo bầu chọn ptm0412

ptm0412

Bad Excel Member
Thành viên BQT Administrator Tham gia 4/11/07 Bài viết 14,445 Được thích 37,105 Donate (Momo) Donate Giới tính Nam Nghề nghiệp Consultant
trungvdb đã viết: Chốt lại bản chất vấn đề này thày Ndu giảng giải và kết luận: Target là tất cả những cell có thay đổi Nhấp chuột vào đây để mở rộng...
Đúng nhưng chưa đủ. Chỉ đúng trong sự kiện Change. Mọi cái đều phải xem xét trong bối cảnh của nó. Đối với sự kiện Worksheet_Change thì Target là cell hoặc Range (nhiều Cells) có thay đổi giá trị Đối với sự kiện Selection_Change, thì Target là cell hoặc Range (nhiều Cells) vừa di chuyển tới. Nên so sánh với sự kiện Sheet_Change: khi thay đổi giá trị bằng cách gõ vào và Enter, thì Target là ô vừa gõ và dời đi, chứ không phải ô vừa chuyển tới. Đối với sự kiện BeforeRightClick hoặc BeforeDoubleClick thì target là ô mà ta nhấn chuột phải vào, hoặc double click vào. Upvote 0 D

Dauthivan

Thành viên tiêu biểu
Tham gia 15/8/08 Bài viết 565 Được thích 327 Em nghĩ chưa hẳn vậy, ví dụ sự thay đổi do nguyên nhận thực hiện lệnh Copy cả vùng sang chỗ khác, lúc này những vùng sau khi được Paste vào đâu có phải đặt con trỏ vào cả tất vùng đâu. Quan trọng là bản chất vấn đề những cái gì thay đổi thôi. Upvote 0 T

trungvdb

Thành viên thường trực
Tham gia 22/8/08 Bài viết 374 Được thích 171 Nghề nghiệp Tài chính Cảm ơn thày Ptm0412, bản thân mới tìm hiểu Worksheet_Change, nhờ thày chỉ cho nên có điều kiện biết thêm về cả Selection_Change, BeforeRightClick hoặc BeforeDoubleClick. Lần chỉnh sửa cuối: 16/2/12 Upvote 0 ndu96081631

ndu96081631

Huyền thoại GPE
Thành viên BQT Super Moderator Tham gia 5/6/08 Bài viết 30,703 Được thích 53,950
Hoàng Trọng Nghĩa đã viết: Nói đúng hơn, Target là nơi mà con trỏ đặt vào và có thay đổi tại ô đó. Nhấp chuột vào đây để mở rộng...
Không đúng nha! Copy Paste thì tính sao? ---------------------------------- Nói thêm về sự kiện Change: - Target là tất cả những cell có thay đổi giá trị nhưng không tính các cell thay đổi do công thức gây ra Ví dụ trên bảng tính, ta gõ vào cell D1 công thức =A1 Ta thiết lập sự kiện Change bẳng code PHP:Sao chép. Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$D$1" Then MsgBox Target.Address End If End Sub Khi ta thay đổi giá trị tại A1 thì D1 cũng có thay đổi nhưng chẳng có code nào hoạt động cả - Ngoài ra Target cũng không tính các LinkCell do các ComboBox, ListBox thay đổi luôn Lần chỉnh sửa cuối: 16/2/12 Upvote 0 ptm0412

ptm0412

Bad Excel Member
Thành viên BQT Administrator Tham gia 4/11/07 Bài viết 14,445 Được thích 37,105 Donate (Momo) Donate Giới tính Nam Nghề nghiệp Consultant
Dauthivan đã viết: Em nghĩ chưa hẳn vậy, ví dụ sự thay đổi do nguyên nhận thực hiện lệnh Copy cả vùng sang chỗ khác, lúc này những vùng sau khi được Paste vào đâu có phải đặt con trỏ vào cả tất vùng đâu. Quan trọng là bản chất vấn đề những cái gì thay đổi thôi. Nhấp chuột vào đây để mở rộng...
Chắc DauthiVan trả lời bài 20 của Nghĩa? Đúng rồi, nếu dùng câu lệnh VBA để gán giá trị vào 1 ô hoặc 1 Range nhiều ô, thì ô hoặc Range đó thay đổi giá trị, nhưng con trỏ ở đâu đâu ấy. Thí dụ con trỏ ở đâu không cần biết, nhưng chạy câu lệnh này: Cells(1, 1).Resize(10, 4) = RArr Thì Target là vùng A1:D10 Upvote 0 T

trungvdb

Thành viên thường trực
Tham gia 22/8/08 Bài viết 374 Được thích 171 Nghề nghiệp Tài chính Em hỏi hơi ngớ ngẩn 1 chút tại sao khi dùng địa chỉ tương đối không được mà địa chỉ tuyệt đối lại được, ví dụ em thay đổi Code của thày Ndu thì khi đánh giá trị mới hộp thoại Msgbox không chịu ra PHP:Sao chép. Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "D1" Then MsgBox Target.Address End If End Sub Upvote 0 Hoàng Trọng Nghĩa

Hoàng Trọng Nghĩa

Chuyên gia GPE
Thành viên BQT Moderator Tham gia 17/8/08 Bài viết 8,662 Được thích 16,719 Giới tính Nam
ndu96081631 đã viết: Không đúng nha! Copy Paste thì tính sao? ---------------------------------- Nói thêm về sự kiện Change: - Target là tất cả những cell có thay đổi giá trị nhưng không tính các cell thay đổi do công thức gây ra Ví dụ trên bảng tính, ta gõ vào cell D1 công thức =A1 Ta thiết lập sự kiện Change bẳng code PHP:Sao chép. Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$D$1" Then MsgBox Target.Address End If End Sub Khi ta thay đổi giá trị tại A1 thì D1 cũng có thay đổi nhưng chẳng có code nào hoạt động cả - Ngoài ra Target cũng không tính các LinkCell do các ComboBox, ListBox thay đổi luôn Nhấp chuột vào đây để mở rộng...
Nhớ ngày mới vào diễn đàn, những ngày tập tành "con đường gian khổ" VBA, mình có hỏi câu TARGET là gì, thật sự mà nói, định nghĩa nó cũng vô vàn, nhưng chỉ biết "gài" nó vào vùng nào đó rồi xử lý nó thôi. Mình cũng thấy rằng môi trường học tập tại đây thật độc đáo, có những người không phải là giáo viên, song, họ rất nhiệt tình hướng dẫn, chỉ bảo, trong tâm mình cũng coi những vị đó như ÂN SƯ như Sư phụ PTM0412, như Thầy ndu96081631, như Bác SA_DQ, ... họ thật sự là những người Thầy của mình. Và mình cũng tự hào rằng, nhờ có môi trường GIẢI PHÁP EXCEL mà kỹ năng vận dụng hàm, công thức, kể cả VBA mình thật sự tiến bộ. Cám ơn diễn đàn và các thành viên rất nhiều! (Sẳn dịp các bạn hỏi những kiến thức cơ bản làm gợi nhớ lại những ngày đầu, tự nhiên có cảm xúc, xin BQT đừng xem là Spam nhé! Cám ơn) Lần chỉnh sửa cuối: 16/2/12 Upvote 0 ndu96081631

ndu96081631

Huyền thoại GPE
Thành viên BQT Super Moderator Tham gia 5/6/08 Bài viết 30,703 Được thích 53,950
trungvdb đã viết: Em hỏi hơi ngớ ngẩn 1 chút tại sao khi dùng địa chỉ tương đối không được mà địa chỉ tuyệt đối lại được, ví dụ em thay đổi Code của thày Ndu thì khi đánh giá trị mới hộp thoại Msgbox không chịu ra PHP:Sao chép. Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "D1" Then MsgBox Target.Address End If End Sub Nhấp chuột vào đây để mở rộng...
Thuộc tính Address còn có mấy tham số nữa đấy Để dùng địa chỉ tương đối, sửa code thành: PHP:Sao chép. Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(0, 0) = "D1" Then MsgBox Target.Address End If End Sub Upvote 0 ptm0412

ptm0412

Bad Excel Member
Thành viên BQT Administrator Tham gia 4/11/07 Bài viết 14,445 Được thích 37,105 Donate (Momo) Donate Giới tính Nam Nghề nghiệp Consultant Nói thêm về chỗ này 1 chút: Không biết Trung hiểu thế nào, câu kết luận thì đúng nhưng phát biểu này không đúng:
trungvdb đã viết: (vì 1 ô H1 không thể so sánh được với nhiều ô thay đổi). Nhấp chuột vào đây để mở rộng...
Trong code bài #3 sinh ra lỗi Type Mismatch, và bài #5 tôi nói:
Khi xoá dòng 10:100, sự kiện chạy lần 2, Target.Address = $10$100, và Target.Value > 100 không tính được vì target là cả 1 range chứ không phải 1 cell, target.Value là 1 mảng các giá trị chứ không phải 1 giá trị, không so sánh với 1 giá trị đơn được. (Type MisMatch là chỗ này) Nhấp chuột vào đây để mở rộng...
Lỗi sinh ra khi có sự thay đổi lần 2, và lần 3, vì khi đó Target (vùng xảy ra thay đổi) không phải là 1 ô, Target.Value trở thành 1 mảng giá trị. Lỗi Type Mismatch xảy ra vì ta cố so sánh 1 Mảng với 1 giá trị đơn là 100. Có còn so sánh với H1 nữa đâu? Không so sánh Target mới với H1, cũng không so sánh H1 với 100 gì cả. Tìm lại gốc của lỗi: Nguyên do chính vì code chạy nhiều lần. Nên trong bài #5, tôi có nói muốn sửa lỗi triệt để phải khử Event bằng cặp lệnh: Application.EnableEvents = False và Application.EnableEvents = True Khi xoá dòng 10:100 và khi copy Paste vào A10, có thay đổi, sự kiện có diễn ra, nhưng nhấp nhổm tìm code chạy thì đụng nhằm bảng cấm sự kiện. Khoẻ re: không chạy, không lỗi, lại còn lợi về tốc độ. Upvote 0 T

trungvdb

Thành viên thường trực
Tham gia 22/8/08 Bài viết 374 Được thích 171 Nghề nghiệp Tài chính Sau khi thày giảng xong thì tôi đã hiểu rồi ah, chỉ bởi trước quan niệm tôi hiểu nhầm là H1 thuộc Target (thời điểm đó chưa hiểu bản chất Target trong phương thức Worksheet_Change là những ô thay đổi). Hôm nào được thày Mỹ gợi ý là hôm đó chắc chắn bản thân tôi tìm theo hướng thày chỉ bảo, học được rất nhiều kiến thức bổ ích. Xin đa tạ thày rất nhiều. Upvote 0 ptm0412

ptm0412

Bad Excel Member
Thành viên BQT Administrator Tham gia 4/11/07 Bài viết 14,445 Được thích 37,105 Donate (Momo) Donate Giới tính Nam Nghề nghiệp Consultant
trungvdb đã viết: Sau khi thày giảng xong thì tôi đã hiểu rồi ah, chỉ bởi trước quan niệm tôi hiểu nhầm là H1 thuộc Target (thời điểm đó chưa hiểu bản chất Target trong phương thức Worksheet_Change là những ô thay đổi). Hôm nào được thày Mỹ gợi ý là hôm đó chắc chắn bản thân tôi tìm theo hướng thày chỉ bảo, học được rất nhiều kiến thức bổ ích. Xin đa tạ thày rất nhiều. Nhấp chuột vào đây để mở rộng...
Nghe đồn trong 3 ngày lão chết tiệt đi Nha Trang, không được nghe mắng có người thấy nhớ nhớ thì phải? http://www.giaiphapexcel.com/forum/...về-mảng-trong-VBA-(Array)&p=375855#post375855 Vậy thì mắng đây: Giải thích ở bài #5, mãi bài #19 mới nói hiểu rồi hiểu rồi, mà lại vẫn phát biểu trật lất! Lần chỉnh sửa cuối: 16/2/12 Upvote 0 H

Hai19811981

Thành viên mới
Tham gia 24/2/21 Bài viết 1 Được thích 0 Sự kiên change khi paste dữ liệu vào ô target công thức ko đổi đúng không các bác Upvote 0 Trước
  • 1
  • 2
First Trước 2 of 2

Go to page

Tiếp tục Bạn phải đăng nhập hoặc đăng ký để trả lời bài viết tại đây. Web KT

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

L Chuyển 600 câu hỏi trắc nghiệm sang excel theo mẫu
  • linhxinhthat
  • Thứ tư lúc 15:52
  • Hàm và công thức Excel
Trả lời 4 Đọc 143 12 phút trước ongke0711 ongke0711 J Hàm tách dữ liệu ra nhiều cột
  • jusend
  • Thứ tư lúc 16:43
  • Giải thích, gỡ rối, xử lý lỗi công thức
Trả lời 5 Đọc 145 16 phút trước DeTong D B
  • Question
Windows Form Làm thế nào để định vị cột và dòng nhập dữ liệu
  • binhtv69
  • 22/11/24
  • Lập Trình với Excel
2 3 Trả lời 42 Đọc 946 Hôm qua, lúc 23:56 ptm0412 ptm0412 heocondethuong1235 Giúp về xử lý số liệu trong excel!
  • heocondethuong1235
  • Hôm qua, lúc 13:45
  • Những vấn đề chung
Trả lời 4 Đọc 105 Hôm qua, lúc 22:39 VetMini V N Định mức nguyên vật liệu
  • nghiemcongdien
  • 9/11/24
  • Google Spreadsheets
2 Trả lời 35 Đọc 969 Hôm qua, lúc 21:32 ptm0412 ptm0412 DMQ
  • Question
Xóa dòng trùng.
  • DMQ
  • Thứ tư lúc 21:16
  • Lập Trình với Excel
Trả lời 11 Đọc 231 Hôm qua, lúc 17:16 DMQ DMQ ongke0711
  • Question
Tải hóa đơn điện tử (https://hoadondientu.gdt.gov.vn/) Excel Vba
    • Thích
    • Yêu thích
  • ongke0711
  • 6/10/24
  • Lập Trình với Excel
12 13 14 Trả lời 260 Đọc 16K Hôm qua, lúc 16:33 thanchetvnt T luuviettrung Lỗi mở file excel đã được lưu trên USB
  • luuviettrung
  • Hôm qua, lúc 16:31
  • Hỏi đáp những vấn đề khác
Trả lời 0 Đọc 35 Hôm qua, lúc 16:31 luuviettrung luuviettrung H Code lấy đáp án từ file word
    • Thích
  • Hoale85
  • Hôm qua, lúc 11:16
  • Những vấn đề chung
Trả lời 7 Đọc 149 Hôm qua, lúc 16:20 Hoale85 H A Nhờ mọi người làm giúp công thức Thống kê đếm ngày
  • acrox84
  • Thứ tư lúc 11:03
  • Làm việc với ngày tháng và thời gian
Trả lời 8 Đọc 201 Hôm qua, lúc 15:23 acrox84 A K Tự động nhập dữ liệu tăng ca
  • Ks.longvandinh1988
  • Hôm qua, lúc 14:17
  • Excel và Kế Toán
Trả lời 2 Đọc 74 Hôm qua, lúc 14:54 Duy Tùng 9x Duy Tùng 9x L lập công thức cho lịch làm và ngày nghỉ tự động thay đổi theo từng tháng
  • Lan Ny
  • Hôm qua, lúc 11:55
  • Hàm và công thức Excel
Trả lời 1 Đọc 77 Hôm qua, lúc 13:20 hoangtuaotrang_hp_vn H Nguyễn Duy Tuân Hướng dẫn lập trình với Google Sheets và Excel Online bằng Excel VBA và Add-in A-Tools v10
    • Thích
  • Nguyễn Duy Tuân
  • Hôm qua, lúc 09:21
  • BLUESOFTS: A-Excel, A-Tools
Trả lời 1 Đọc 101 Hôm qua, lúc 11:05 Nguyễn Duy Tuân Nguyễn Duy Tuân GPE-Trợ Lý [GPE] TALK SHOW ĐỊNH KỲ
    • Yêu thích
    • Thích
    • Cảm ơn
  • GPE-Trợ Lý
  • Hôm qua, lúc 10:07
  • Học tập Online
Trả lời 0 Đọc 109 Hôm qua, lúc 10:07 GPE-Trợ Lý GPE-Trợ Lý N Tìm công thức sắp xếp lại vị trí
  • Ngocminh19
  • Thứ tư lúc 18:56
  • Hàm và công thức Excel
Trả lời 5 Đọc 139 Hôm qua, lúc 08:21 Ngocminh19 N MinhKhai
  • Question
Chọn các số trong dãy số để ra 1 số tổng cho trước
  • MinhKhai
  • 20/8/13
  • Lập Trình với Excel
2 Trả lời 28 Đọc 16K Thứ tư lúc 20:28 tienhuy832011 T T
  • Question
Tìm các dòng có chứa giá trị cộng tổng sấp xỉ bằng số cho trước
  • tienhuy832011
  • Thứ ba lúc 20:07
  • Lập Trình với Excel
Trả lời 17 Đọc 241 Thứ tư lúc 20:20 tienhuy832011 T Toanke063
  • Question
Hỗ trợ khắc phục lỗi Copy cùng 1 bảng tính sang nhiều vị trí trên Word bị lỗi Clipboard
  • Toanke063
  • 22/11/24
  • Lập Trình với Excel
Trả lời 8 Đọc 298 Thứ tư lúc 18:49 Toanke063 Toanke063 Nguyễn Hậu LK Nhờ giúp: Nhận vùng giữ liệu theo số biên bản nghiệm thu
  • Nguyễn Hậu LK
  • Thứ tư lúc 16:18
  • Hỏi đáp những vấn đề khác
Trả lời 1 Đọc 74 Thứ tư lúc 17:18 BuiQuangThuan B raygpt Em test đầu vào mà làm không được câu 5 và những hàm liên quan đến năm sinh ạk
  • raygpt
  • Thứ ba lúc 22:52
  • Hàm và công thức Excel
Trả lời 6 Đọc 159 Thứ tư lúc 17:15 hvnhpro H Xem thêm… Chia sẻ: Facebook X (Twitter) Reddit Pinterest Tumblr WhatsApp Email Chia sẻ Link

Thành viên có số lượng bài viết cao nhất tháng

  • Hoàng Tuấn 868 152
  • ptm0412 81
  • VetMini 47
  • HUONGHCKT 42
  • ongke0711 42
  • hoangtuaotrang_hp_vn 35
  • SA_DQ 34
  • befaint 33
  • Tuấn Bụng Bự 31
  • bebo021999 31
  • BuiQuangThuan 28
  • HeSanbi 25
  • huuthang_bd 23
  • HieuCD 18
  • huhumalu 17
  • DeTong 17
  • CHAOQUAY 16
  • Nguyễn Diêu Hiền 15
  • Manhhung90 13
  • phuongnam366377 13

Thành viên có điểm tương tác cao nhất tháng

  • Hoàng Tuấn 868 131
  • HUONGHCKT 77
  • ptm0412 77
  • VetMini 64
  • HeSanbi 63
  • ongke0711 58
  • HieuCD 44
  • SA_DQ 44
  • BuiQuangThuan 42
  • befaint 41
  • huuthang_bd 39
  • bebo021999 30
  • hoangtuaotrang_hp_vn 30
  • GPE-Trợ Lý 29
  • Phuocam 19
  • DeTong 16
  • huhumalu 15
  • phuongnam366377 12
  • CHAOQUAY 12
  • Duy Tùng 9x 12
  • Trang chủ
  • Diễn đàn
  • Lập Trình với Excel
  • Lập Trình với Excel
  • Website này sử dụng cookies. Tiếp tục sử dụng trang này, đồng nghĩa với việc bạn chấp nhận website sử dụng cookies. Chấp nhận Tìm hiểu thêm.…
Back Top Bottom

Từ khóa » Sự Kiện Worksheet_change