Làm sao đang ở file này dùng Worksheet_BeforeRightClick hay Worksheet_BeforeDoubleClick để mở Use form ở File khác

Liên hệ QC

AnhThu-1976

Thành viên tích cực
Tham gia
17/10/14
Bài viết
1,061
Được thích
175
Code này em sưu tầm code trên diễn đàn
Các anh chị giúp em như sau:
Hiện em có 2 File
1/ File: FormGoc-KT trong file này có Use formDMGD
Nếu muốn mở form này ở sheet TH ( cột AH) thì có 3 cách
a/ DoubleClick vào cell
b/ RightClick vào cell rồi chọn Form DMGD
c/ Bấm tổ hợp phím Ctrl+Shift+I

2/ File: FormApDung thì không có Use form
Bây giờ em chọn sheet TH ( cột AH) của file này và muốn mở Form DMGD của file FormGoc-KT theo 3 cách trên
Nhưng em chỉ dùng được cách c còn dùng cách a và b thì bị lỗi
Anh chị vui lòng chỉnh code giúp em
Code trong sheet TH có trong cả 2 file như sau
Mã:
Option Explicit
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Run "ResetPopupMenu"
    If Not Intersect(Range("AH9:AH12000"), Target) Is Nothing Then
        Run "BuildPopupMenu", "DMDG"
    End If
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Application.Intersect(Target, Range("AH9:AH12000")) Is Nothing Then
        Cancel = True
        FormDMDG.Show
    End If
End Sub
Private Sub Worksheet_Deactivate()
    Run "ResetPopupMenu"
End Sub
[code\]

Em cảm ơn!
p/s: -(thêm) dĩ nhiên em mở lúc đồng thời 2 file trên
- 2 file này đang ở cùng 1 thư mục
 

File đính kèm

Lần chỉnh sửa cuối:
Bạn đổi chữ "gốc" thành tên của file gốc là được
Mã:
Option Explicit
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Run "gốc!ResetPopupMenu"
    If Not Intersect(Range("AH9:AH12000"), Target) Is Nothing Then
        Run "gốc!BuildPopupMenu", "DMDG"
    End If
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Application.Intersect(Target, Range("AH9:AH12000")) Is Nothing Then
        Cancel = True
        Run "gốc!BuildPopupMenu", "DMDG"
    End If
End Sub
Private Sub Worksheet_Deactivate()
    Run "gốc!ResetPopupMenu"
End Sub
 
Upvote 0
1/ Trường hợp BeforeRightClick thì được rồi
2/ còn trường hợp BeforeDoubleClick thì chưa được, khi Double vào cell thì nó đứng yên
Mình nghĩ lỗi ở chỗ màu đỏ
Mã:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Application.Intersect(Target, Range("AH9:AH12000")) Is Nothing Then
        Cancel = True
        [B][COLOR=rgb(209, 72, 65)]Run "gốc!BuildPopupMenu", "DMDG"[/COLOR][/B]
    End If
End Sub
[\code]
Cũng đã thử chỉnh sửa nhưng vẫn chưa được

3/ Cho mình hỏi thêm nếu File Gốc để ở 1 thư mục khác (ví dụ ổ E:\Khac\LinhTinh) thì code cần phải điều chỉnh như thế nào
Mình thấy thêm đường Link của code khác đường Link trong công thức
Cảm ơn bạn!
 
Upvote 0
Miễn file được mở, thì mặc cho file nằm bất kì đâu.
Mã:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Run "gốc!ResetPopupMenu"
    If Not Application.Intersect(Target, Range("AH9:AH12000")) Is Nothing Then
        Cancel = True
        Run "gốc!BuildPopupMenu", "DMDG"
    End If
End Sub
 
Upvote 0
Miễn file được mở, thì mặc cho file nằm bất kì đâu.
Mã:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Run "gốc!ResetPopupMenu"
    If Not Application.Intersect(Target, Range("AH9:AH12000")) Is Nothing Then
        Cancel = True
        Run "gốc!BuildPopupMenu", "DMDG"
    End If
End Sub
Hiện nay, mình đã chuyển File: FormGoc-KT (trong file này có Use formDMGD) thành addin
và file FormApDung, sheet TH có code như sau
Mã:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Run "ResetPopupMenu"
    If Not Application.Intersect(Target, Range("AH9:AH12000")) Is Nothing Then
        Cancel = True
        Run "BuildPopupMenu", "DMDG"
    End If
End Sub[code]
Nhưng khi mình DoubleClick vào cột AH của sheet TH nó vẫn không hiện Form
Không biết mình sai chỗ nào, nhờ các bạn tháo gở giúp, xin cảm ơn!
p/s: cũng đã mày mò mấy ngày nhưng vẫn chưa tìm được lý do
 

File đính kèm

Upvote 0
"FormApDung.xlsm!BuildPopupMenu"
hoặc thêm dấu nháy đơn cho tên file
"'FormApDung.xlsm'!BuildPopupMenu"

Nếu biết Code đó ở Module nào thì thêm tên Module và dấu chấm (.)

"FormApDung.xlsm!Module1.BuildPopupMenu"
hoặc thêm dấu nháy đơn cho tên file
"'FormApDung.xlsm'!Module1.BuildPopupMenu"
 
Upvote 0
Web KT

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

Back
Top Bottom