Добрый день. Есть таблица, при двойном клике по ячейке должно открываться окно. И все так и происходит, но после открытия окна (помечено стрелочкой), ексель входит в режим редактирования ячейки (мигает курсор). И соответственно, все макросы, в т.ч. открытого окна заблокированы. Как можно обойти это?
[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim TargetRow As String Dim TargetID As String
If Not Intersect([Т.СписокЗаказов_Упаковка], Target) Is Nothing Then TargetID = Intersect([Т.СписокЗаказов_Упаковка[ID]], Target.EntireRow).Value If TargetID <> "" Then
' При клике на стоимости открываем лист оплат If Not Intersect([Т.СписокЗаказов_Упаковка[Полная стоимость]].Resize(, 4), Target) Is Nothing Then Call CopyOrderNameToPayForm(CInt(TargetID)) '<=================== Exit Sub End If
' При клике на ID открываем карточку заказа If Not Intersect([Т.СписокЗаказов_Упаковка[ID]].Resize(, 4), Target) Is Nothing Then Call FOrderInfo.Show(vbModeless) Exit Sub End If
' При клике в любом другом месте строки - открываем заказ LoadOrder (TargetID)
End If End If End Sub
[/vba]
Добрый день. Есть таблица, при двойном клике по ячейке должно открываться окно. И все так и происходит, но после открытия окна (помечено стрелочкой), ексель входит в режим редактирования ячейки (мигает курсор). И соответственно, все макросы, в т.ч. открытого окна заблокированы. Как можно обойти это?
[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim TargetRow As String Dim TargetID As String
If Not Intersect([Т.СписокЗаказов_Упаковка], Target) Is Nothing Then TargetID = Intersect([Т.СписокЗаказов_Упаковка[ID]], Target.EntireRow).Value If TargetID <> "" Then
' При клике на стоимости открываем лист оплат If Not Intersect([Т.СписокЗаказов_Упаковка[Полная стоимость]].Resize(, 4), Target) Is Nothing Then Call CopyOrderNameToPayForm(CInt(TargetID)) '<=================== Exit Sub End If
' При клике на ID открываем карточку заказа If Not Intersect([Т.СписокЗаказов_Упаковка[ID]].Resize(, 4), Target) Is Nothing Then Call FOrderInfo.Show(vbModeless) Exit Sub End If
' При клике в любом другом месте строки - открываем заказ LoadOrder (TargetID)