Click vào 1 cell để chạy lệnh

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

bbc

Thành viên hoạt động
Tham gia
13/1/07
Bài viết
112
Được thích
23
Việc click vào 1 combobox để chạy lệnh thì okie, nhưng làm thía nào để click vào 1 cell mà chạy được lệnh các bác nhỉ

___________

Bạn bbc chú ý post bài đúng box nha!.

Thân,
SG
 
Chỉnh sửa lần cuối bởi điều hành viên:
Hình Như Chỉ Nhấn đúp & Rightclick được Viết Thôi!

PHP:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 If Not Intersect(Target, Range("A3:A15")) Is Nothing Then _
    Application.Speech.Speak "Today is " & Date
  
  If Not Intersect(Target, Range("B3:B15")) Is Nothing Then _
    MsgBox "BAN MUON ZI?", , "VIET VO DAY"

End Sub
 
Upvote 0
SA_DQ đã viết:
PHP:
    Application.Speech.Speak "Today is " & Date
Nếu range đã có dữ liệu thì dòng lệnh trên báo lỗi: Application-defined or Object-defined error.
Xin bác giải thích cụ thể về dòng lệnh này được không ạ?
Thanks!
 
Upvote 0
SA_DQ đã viết:
PHP:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("A3:A15")) Is Nothing Then _
Application.Speech.Speak "Today is " & Date
 
If Not Intersect(Target, Range("B3:B15")) Is Nothing Then _
MsgBox "BAN MUON ZI?", , "VIET VO DAY"
 
End Sub

Thía em mún click vào đó rùi sẽ automatic chuyển sang Sheet 2 thì làm thía nào ạ ?
 
Upvote 0
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$B$11" Then
Sheets("sheet2").Select
Range("G6").Select
End Sub

Các bác kiểm tra dùm em vít thía này thì sai đâu với ạ. Con trỏ em đang ở Sheet 1. Thanks
 
Upvote 0
Nếu range đã có dữ liệu thì dòng lệnh trên báo lỗi: Application-defined or Object-defined error. Xin bác giải thích cụ thể về dòng lệnh này được không ạ?
Mình thử máy mình nó vẫn đọc bình thường mà!; các ô mình nhập đủ kiểu dữ liệu ;
Câu lệnh đó là:
Nhấn đúp vô vùng 'A3:A15' thì excel thông báo ta biết ngày hôm nay là ngày gì mà!
Các bác kiểm tra dùm em vít thía này thì sai đâu với ạ. Con trỏ em đang ở Sheet 1. Thanks
Thiếu
End If
Thừa Range("G6").Select
Bạn thử dùng 1 dòng lệnh sau, xem sao
Mã:
  [B][SIZE="3"] If Not Intersect(Target, Range("B3:B5")) Is Nothing Then _
    Sheet2.Select[/SIZE][/B]
 
Upvote 0
PHP:
Sub UseSpeech()
    Application.Speech.Speak "Hello"
End Sub
Tình hình là em đã phải dùng một ví dụ trong Help mà vẫn báo lỗi: Application-defined or Object-defined error. Có vấn đề gì trong thư viện không nhỉ?
 
Upvote 0
PHP:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$D$5" Then Calendar8.Show
If Target.Address = "$G$5" Then Calendar7.Show
If Target.Address = "$a$11" Then
Sheets("sheet2").Select
End If
End Sub

Bác ui, còn thía này thì sai ở đâu ạ ?? /-*+/
 
Upvote 0
Nó báo lỗi gì vậy, yêu cầu là bạn phải có các Object Calendar8 và Calendar7. Nên sửa code thành:

PHP:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$D$5" Then Calendar8.Show
If Target.Address = "$G$5" Then Calendar7.Show
If Target.Address = "$A$11" Then Sheets("sheet2").Select
End Sub
Dòng lệnh thứ 3 thay $a$11 thành $A$11, cái này mình cũng không giải thích được, chỉ thử thấy chạy được thôi!
 
Upvote 0
Bạn thử đoạn code này xem sao!

PHP:
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  With Target
    If .Address = "$A$4" Then Sheets("S2").Select
    If .Address = "$B$3" Then Sheet3.Select
    MsgBox .Address
  End With
  
End Sub

Chú í dùng tên cúng cơm & tên do ta áp đặt có khác nhau đôi chút
& mong rằng địa chỉ đơn nhưng đó là địa chỉ tuyệt đối!
 
Upvote 0
bbc đã viết:
Việc click vào 1 combobox để chạy lệnh thì okie, nhưng làm thía nào để click vào 1 cell mà chạy được lệnh các bác nhỉ
Nhấn Alt+F11 vào VBA, nhấn đúp vào ThisWorkbook, rồi thêm đoạn code sau:
Mã:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Not Intersect(Target, Range("[B][COLOR=red]A1:C10[/COLOR][/B]")) Is Nothing Then
    MsgBox "Ban viet lenh o day"
    '.....
End If
End Sub

Khi bạn click vào 1 ô nào đó trong vùng A1:C10 thì sẽ thực hiện các lệnh mà bạn sẽ viết thêm.
(Nhưng bạn phải click chuột vào ô khác ô đang hoạt động nhé!)
 
Upvote 0
SA_DQ đã viết:
PHP:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("A3:A15")) Is Nothing Then _
Application.Speech.Speak "Today is " & Date
 
If Not Intersect(Target, Range("B3:B15")) Is Nothing Then _
MsgBox "BAN MUON ZI?", , "VIET VO DAY"
 
End Sub

Vấn đề nan giải hơn này cả nhà ui, lệnh của e lại liên quan tới ô trong vùng B3:B15, thía là lại chạy típ lần 2 rùi. Có cách nào làm cho khi click vao B3:B15 thì nó chỉ chạy lệnh đó mà ko chạy lần 2 ko nhỉ. Hic, chắc e phải chuyển vị trí sao đó cũng nên -+*/
 
Upvote 0
Web KT

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

Back
Top Bottom