Dùng sự kiện click phải chuột để chèn thông tin

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

iVBA

Thành viên mới
Tham gia
5/12/10
Bài viết
29
Được thích
11
AC thiết kế dùm em sự kiện BeforeRightClick để chèn dữ liệu vào ô trong Excel.
 

File đính kèm

AC thiết kế dùm em sự kiện BeforeRightClick để chèn dữ liệu vào ô trong Excel.
1> Code trong Sheet1
PHP:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
  FORM.Show: Cancel = True
End Sub
2> Code trong Form
PHP:
Private Sub ListBox1_Click()
  With ListBox1
    ActiveCell = .List(.ListIndex)
  End With
  Unload Me
End Sub
 
Upvote 0
1> Code trong Sheet1
PHP:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
FORM.Show: Cancel = True
End Sub
2> Code trong Form
PHP:
Private Sub ListBox1_Click()
With ListBox1
ActiveCell = .List(.ListIndex)
End With
Unload Me
End Sub

Nếu em chỉ muốn khống chế click chuột vào cột D thui có được không ah?
 
Upvote 0
Nếu lấy ở cột D thì xác định sự giao nhau của biến TargetCột D, khi đó chức năng này chỉ có tác dụng ở cột D thôi.
 
Upvote 0
Nếu em chỉ muốn khống chế click chuột vào cột D thui có được không ah?
Thì thêm điều kiện vào, chẳng hạn
PHP:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
  If Not Intersect(Range("D3:D100"), Target) Is Nothing Then
    FORM.Show: Cancel = True
  End If
End Sub
Hoặc
PHP:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
  If Target.Row > 2 And Target.Column = 4 Then
    FORM.Show: Cancel = True
  End If
End Sub
Vân vân...
 
Upvote 0
Thì thêm điều kiện vào, chẳng hạn
PHP:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range("D3:D100"), Target) Is Nothing Then
FORM.Show: Cancel = True
End If
End Sub
Hoặc
PHP:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Target.Row > 2 And Target.Column = 4 Then
FORM.Show: Cancel = True
End If
End Sub
Vân vân...

Thầy ndu ơi, cho em hỏi thêm chút nhé!
Nếu giả thiết em không muốn cập nhật mã vào Cell mà em muốn chèn tên sản phẩm thì làm thế nào?
Thầy vui lòng chỉ dùm em nhé!
 
Upvote 0
Thay
ActiveCell = .List(.ListIndex)

Bằng

ActiveCell = .List(.ListIndex,1)

Với 1 là cột 2, 2 là cột 3, ...
 
Upvote 0
Web KT

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

Back
Top Bottom