我有一個表連接到一個數據庫,我想要做的是當用戶點擊這個表中的一個單元格:它選擇表中的所有行。下面是我的代碼的副本:選擇excel表(不是工作表)上的所有行w/VBA
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If inTabRange(ActiveCell) Then
ActiveSheet.ListObjects("tabRecherche").ListRows(ActiveCell.row).Range.Select
Else
MsgBox "Hello"
End If
End Sub
Private Function inTabRange(cellRange As Range) As Boolean
inRange = Not (Application.Intersect(cellRange, Range("Q14:AI700")) Is Nothing)
End Function
「tabRecherche」是我的表的名稱和它的範圍是從Q14到AI700
我的問題是,當我調用函數「inTabRange」,是否不是它返回True,代碼將進入Else部分並調用MsgBox。
這可能是我如何使用Application.Intersect的一個問題:我從Internet複製了這一行。
希望你能幫助我!
從純粹邏輯的角度來看,我會在'Else'條件塊內保留'Application.Intersect ...'的'Application.EnableEvents'語句。我還會補充一點,檢查表名將完全符合OP的需求 – user3598756
謝謝@ user3598756,我也是這麼想的,但也許OP想選擇其他任何東西而不是'msgbox'。 – Fadi
謝謝你完美的作品! – NattyRoots