Chuyển code sang addin dùng phím tắt

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

songiang5011

Thành viên mới
Tham gia
6/7/21
Bài viết
43
Được thích
10
Em chào anh chị trong diễn đàn, Em có đoạn code nhờ anh chị trong diễn đàn xử lý giúp em xem có cách nào chuyển sang Addin rồi dùng phím tắt để thao tác không ạ (vị dụ dùng phím CTRL q) để chạy code. Em xin anh chị giúp đỡ em. Em cám ơn
Bài đã được tự động gộp:

Code em đây ạ
Option Explicit

Private Function VisibleCell(ByVal iCell As Range) As Boolean
'Ham tim o hien,iCell là mot cell duy nhat
'VisibleCell=true ==> Hien
'VisibleCell=False ==> An
Dim X As Range, I As Boolean
Set X = iCell
I = False
If X.EntireRow.Hidden = False Then
If X.EntireColumn.Hidden = False Then
I = True
End If
End If
VisibleCell = I
End Function
Private Sub PasteVisible(ByVal Rng As Range)
Dim Clls As Range, xRng As Range
Set xRng = Rng
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For Each Clls In xRng
If VisibleCell(Clls) Then
Clls.Value = Clls.Value
End If
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Sub Main()
Dim M As String, Rng As Range
M = MsgBox("Ban da chon vung du lieu can thuc hien chua ?" & vbNewLine & "Ban khong the UNDO sau khi thuc hien chuc nang nay !" & vbNewLine & "BAN CO MUON TIEP TUC KHONG ?", vbYesNo, "THONG BAO")
Set Rng = Selection
If M = vbYes Then
Call PasteVisible(Rng)
End If
End Sub
 

File đính kèm

  • Copy value.xlsm
    16 KB · Đọc: 4
Em chào anh chị trong diễn đàn, Em có đoạn code nhờ anh chị trong diễn đàn xử lý giúp em xem có cách nào chuyển sang Addin rồi dùng phím tắt để thao tác không ạ (vị dụ dùng phím CTRL q) để chạy code. Em xin anh chị giúp đỡ em. Em cám ơn
Bài đã được tự động gộp:

Code em đây ạ
Option Explicit

Private Function VisibleCell(ByVal iCell As Range) As Boolean
'Ham tim o hien,iCell là mot cell duy nhat
'VisibleCell=true ==> Hien
'VisibleCell=False ==> An
Dim X As Range, I As Boolean
Set X = iCell
I = False
If X.EntireRow.Hidden = False Then
If X.EntireColumn.Hidden = False Then
I = True
End If
End If
VisibleCell = I
End Function
Private Sub PasteVisible(ByVal Rng As Range)
Dim Clls As Range, xRng As Range
Set xRng = Rng
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For Each Clls In xRng
If VisibleCell(Clls) Then
Clls.Value = Clls.Value
End If
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Sub Main()
Dim M As String, Rng As Range
M = MsgBox("Ban da chon vung du lieu can thuc hien chua ?" & vbNewLine & "Ban khong the UNDO sau khi thuc hien chuc nang nay !" & vbNewLine & "BAN CO MUON TIEP TUC KHONG ?", vbYesNo, "THONG BAO")
Set Rng = Selection
If M = vbYes Then
Call PasteVisible(Rng)
End If
End Sub
Đoạn code này bạn lấy ở đâu vậy nhỉ, code này mình viết mà mình không nhớ đã hỗ trợ bạn nào trên diễn đàn chưa (Mình chỉ tò mò xem mình viết ở bài nào thôi :D )
 
Upvote 0
Đoạn code này bạn lấy ở đâu vậy nhỉ, code này mình viết mà mình không nhớ đã hỗ trợ bạn nào trên diễn đàn chưa (Mình chỉ tò mò xem mình viết ở bài nào thôi :D )
Đứa con tinh thần, nhìn cái phát hiện ra luôn bác hả?
 
Upvote 0
Em chào anh chị trong diễn đàn, Em có đoạn code nhờ anh chị trong diễn đàn xử lý giúp em xem có cách nào chuyển sang Addin rồi dùng phím tắt để thao tác không ạ (vị dụ dùng phím CTRL q) để chạy code. Em xin anh chị giúp đỡ em. Em cám ơn
Bài đã được tự động gộp:

Code em đây ạ
Option Explicit

Private Function VisibleCell(ByVal iCell As Range) As Boolean
'Ham tim o hien,iCell là mot cell duy nhat
'VisibleCell=true ==> Hien
'VisibleCell=False ==> An
Dim X As Range, I As Boolean
Set X = iCell
I = False
If X.EntireRow.Hidden = False Then
If X.EntireColumn.Hidden = False Then
I = True
End If
End If
VisibleCell = I
End Function
Private Sub PasteVisible(ByVal Rng As Range)
Dim Clls As Range, xRng As Range
Set xRng = Rng
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For Each Clls In xRng
If VisibleCell(Clls) Then
Clls.Value = Clls.Value
End If
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Sub Main()
Dim M As String, Rng As Range
M = MsgBox("Ban da chon vung du lieu can thuc hien chua ?" & vbNewLine & "Ban khong the UNDO sau khi thuc hien chuc nang nay !" & vbNewLine & "BAN CO MUON TIEP TUC KHONG ?", vbYesNo, "THONG BAO")
Set Rng = Selection
If M = vbYes Then
Call PasteVisible(Rng)
End If
End Sub
bạn tham khảo tại đây sử dụng Application.Onkey
 
Upvote 0
mình hay dùng cái này

Sub abc()
'code
End Sub

Sub abc_Shortcut()
Application.OnKey "+^{R}", "abc"
' + là ctrl
' ^ là shift
' % là alt
End Sub

Private Sub Workbook_Open()
Call module.abc_Shortcut
end sub
 
Upvote 0
Web KT

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

Back
Top Bottom