Giúp sửa code để chỉ chạy trên file chứa code

Liên hệ QC

hunglam123

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
31/3/20
Bài viết
180
Được thích
43
Chào cả Nhà GPE. Em có dùng code sau đế nhấn Nút Delete xóa 1 hàng 4 cột cùng lúc. Code thì chạy Ok. Nhưng chỉ đúng khi em mở đúng 1 file này trên máy tính. Còn em mở thêm file khác ( Không đóng file chạy code ) thì khi em nhấn Delete thì code nó cũng xóa 1 hàng 4 cột .
Em muốn code chỉ hoạt động trên file chứa code khi trên máy tính có nhiều file, Các file khác nhấn Delete thì như mặc định chỉ xóa mỗi ô đang chọn
Em xin chân thành cảm ơn


Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveSheet.Name = "data" Then
                If Not Intersect(Target, Range("A1:D100")) Is Nothing Then
                    Application.OnKey "{DELETE}", "chaycode"  ' nhan delete xoa dong
                Else
                    Application.OnKey "{DELETE}"
                End If
                
            
Else
     Application.OnKey "{DELETE}"
End If
End Sub

Private Sub Worksheet_Deactivate()
Application.OnKey "{DELETE}"
End Sub


Sub chaycode()
Dim i As Long
i = Selection.Row
Range("A" & i & ":D" & i).ClearContents
End Sub
 
Test rất kỷ trong phòng thí nghiệm, tât cả mọi tình huống, phải chuẩn xác 100% thì mới gọi code Đúng, còn 99.9 % cũng chưa được Duyệt
Tôi biết bạn rất khó nên tôi không dám viết code, sợ bị phán một câu... Nói tóm lại vụ này không dùng ClassModule thì code hơi bị khó. Lót dép ngồi chờ các thành viên khác viết code (chờ sung rụng vậy) xem học hỏi. Tất cả những code trên không hài lòng được cái nào cả.
 
Upvote 0
Tôi biết bạn rất khó nên tôi không dám viết code, sợ bị phán một câu... Nói tóm lại vụ này không dùng ClassModule thì code hợi bị khó. Lót dép ngồi chờ các thành viên khác viết code (chờ sung rụng vậy) xem học hỏi. Tất cả những code trên không hài lòng được cái nào cả.
có đạt yêu cầu đâu anh. Test rất nghiêm nghặt thi chỉ 1 sai xót là loại bỏ ngay lập tức
 
Upvote 0
Lúc đầu chưa nhận ra, đến khi nhận ra thì...
Chỉ riêng cái project ấy mới có những yêu cầu thuộc về thế kỷ 22 thôi.
Tư duy tiền bất kiến cổ nhân, hậu bất tri lai giả mờ.

Theo tôi biết thì người đủ sức cung ứng nhu cầu với thớt đã ra bài rồi. Cứ để họ đối đáp với nhau, mình ngồi uống rượu xem hoa nở.
 
Upvote 0
Dĩ nhiên, nhưng chắc đợi sung rụng.
Sung thể nào cũng rụng. Nhơn vật tôi nói là dân cự phách.
Thứ nhất: theo tôi biết thì thớt khớp cơ nhơn vật này, không dám nói chuyện kiểu như nói với bạn đâu.
Thứ hai: nhơn vật này lỡ phóng lao rồi, không thể bỏ ngang đâu. Quê mặt.
 
Upvote 0
Mở file khác lên nó vẫn áp dụng code luôn a. Em chỉ muốn file nào có code thì áp dụng file đó. Các file còn lại Như bình thường
Bài đã được tự động gộp:


đúng rồi bạn. bạn đó trả lời tắt đi mở lại. thì mình cần gì lên đây hỏi nữ chứ. trả lời như Muối bỏ Biển
Bài đã được tự động gộp:


bạn cho mình Code hoàn chỉnh cái
Bài đã được tự động gộp:


Test rất kỷ trong phòng thí nghiệm, tât cả mọi tình huống, phải chuẩn xác 100% thì mới gọi code Đúng, còn 99.9 % cũng chưa được Duyệt

Tại ThisWorkbook thêm sự kiện Open:

Private Sub Workbook_Open()
MyBook = ThisWorkbook.Name
End Sub


Tại Module1:

Public MyBook As String

Sub chaycode()
Dim i As Long
If ActiveWorkbook.Name = MyBook Then
i = Selection.Row
Range("A" & i & ": D" & i).ClearContents 'Chỗ ": D" phải viết liền nhé. Trong đây viết liền nó thành :D (Mặt cười)
End If
End Sub


thế thôi

Cần thiết thì bạn tải luôn cái file ví dụ này về chạy thử
 

File đính kèm

  • TEMPLATE2.xlsm
    15.7 KB · Đọc: 5
Lần chỉnh sửa cuối:
Upvote 0
Tại ThisWorkbook thêm sự kiện Open:

Private Sub Workbook_Open()
MyBook = ThisWorkbook.Name
End Sub


Tại Module1:

Public MyBook As String

Sub chaycode()
Dim i As Long
If ActiveWorkbook.Name = MyBook Then
i = Selection.Row
Range("A" & i & ": D" & i).ClearContents 'Chỗ ": D" phải viết liền nhé. Trong đây viết liền nó thành :D (Mặt cười)
End If
End Sub


thế thôi

Cần thiết thì bạn tải luôn cái file ví dụ này về chạy thử


Test rồi. Mở đúng 1 file này thì ok. Mở thêm 1 file khác dạng đuôi khác XLSB thì nhấn Delete hết được luôn
Bài đã được tự động gộp:

Sung thể nào cũng rụng. Nhơn vật tôi nói là dân cự phách.
Thứ nhất: theo tôi biết thì thớt khớp cơ nhơn vật này, không dám nói chuyện kiểu như nói với bạn đâu.
Thứ hai: nhơn vật này lỡ phóng lao rồi, không thể bỏ ngang đâu. Quê mặt.
Nay lên "
Chuyên gia GPE
Thì thử trổ tài xem cái, Chứ toàn nghe nói chứ không thấy code gì hết
 
Upvote 0
...Thì thử trổ tài xem cái, Chứ toàn nghe nói chứ không thấy code gì hết
Có tài mà ngu để cho thiên hạ khích tướng thì đó là hạng tài lọt.
Muốn code thì mướn thiên hạ làm giùm cho cái COM bằng code xê cọng cọng gì đó. Tiền bạc tỷ chỉ thấy khoe sắm xe mới, project thì nhờ làm code chùa.
 
Upvote 0
Test rồi. Mở đúng 1 file này thì ok. Mở thêm 1 file khác dạng đuôi khác XLSB thì nhấn Delete hết được luôn
Nhấn delete hết được luôn nghĩa là sao, tôi không hiểu? Như vậy là code đã đúng ý bạn hay là không đúng? Tôi mở file khác lên thì bấm delete thì xoá được đúng ô hiện hành.
 
Upvote 0
Nhấn delete hết được luôn nghĩa là sao, tôi không hiểu? Như vậy là code đã đúng ý bạn hay là không đúng? Tôi mở file khác lên thì bấm delete thì xoá được đúng ô hiện hành.
Bạn sẽ không bao giờ thỏa cho người hỏi được đâu:= Vô ích thôi!
$$$$@
 
Upvote 0

File đính kèm

  • demo.xlsm
    18.1 KB · Đọc: 11
Upvote 0
Bạn sẽ không bao giờ thỏa cho người hỏi được đâu:= Vô ích thôi!
$$$$@
Sáng nay thì mới thấy topic của bạn.
https://www.giaiphapexcel.com/diendan/threads/1-câu-hỏi-khá-đơn-giản-không-có-gì-cao-siêu-mà-hết-diễn-đàn-không-ai-làm-được.149982/

Câu hỏi của bạn đúng là không khó nhưng mà cái cách bạn hỏi thì người khác thật sự ko muốn giúp, mặc dù nhiều người đã có câu trả lời. File này tôi không chắc là nó đúng đâu nhưng bạn cứ kiểm tra thử đi nhé!
Chắc file bạn chạy đúng rồi. Chỉ cần cái sự kiện Workbook_Deactivate() thôi là chạy ổn.
 
Upvote 0
...Câu hỏi của bạn đúng là không khó nhưng mà cái cách bạn hỏi thì người khác thật sự ko muốn giúp, mặc dù nhiều người đã có câu trả lời. File này tôi không chắc là nó đúng đâu nhưng bạn cứ kiểm tra thử đi nhé!
Hồi nào tới giờ người ta vẫn làm vậy.
Mục đích cuối cùng của người ta là lấy kết quả chứ đâu phải học cách giao tế, bạn giải thích cái này như trò đùa con nít thôi.

Rốt cuộc thì vấn đề cũng giải quyết xong. Còn được tha hồ chê đầu này, lên giọng đầu kia người nữa.
Ngoài GPE, còn nơi đâu sẵn sàng làm mọi không công như vầy?
 
Upvote 0
Web KT
Back
Top Bottom