Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True If Target <> Cells(1, 1) Then Exit Sub With Target Select Case .Value Case "3": .Value = "1" Case "1": .Value = "2" Case "2": .Value = "3" Case Else: .Value = "1" End Select End With End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If IsEmpty(Target) Then Exit Sub If Target.Column <> 5 Then Exit Sub Cancel = True Sheets("Pro").Cells(1, 5).Value = Target.Value Sheets("Pro").Cells(1, 5) = Split(Sheets("Pro").Cells(1, 5).Value, ",")(0) End Sub
[/vba]
Извините[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True If Target <> Cells(1, 1) Then Exit Sub With Target Select Case .Value Case "3": .Value = "1" Case "1": .Value = "2" Case "2": .Value = "3" Case Else: .Value = "1" End Select End With End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If IsEmpty(Target) Then Exit Sub If Target.Column <> 5 Then Exit Sub Cancel = True Sheets("Pro").Cells(1, 5).Value = Target.Value Sheets("Pro").Cells(1, 5) = Split(Sheets("Pro").Cells(1, 5).Value, ",")(0) End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True If Target = Cells(1, 1) Then With Target Select Case .Value Case "3": .Value = "1" Case "1": .Value = "2" Case "2": .Value = "3" Case Else: .Value = "1" End Select End With Else If IsEmpty(Target) Then Exit Sub If Target.Column <> 5 Then Exit Sub Sheets("Pro").Cells(1, 5).Value = Target.Value Sheets("Pro").Cells(1, 5) = Split(Sheets("Pro").Cells(1, 5).Value, ",")(0) End If End Sub
[/vba]
Как-то так (в файле не проверяла) [vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True If Target = Cells(1, 1) Then With Target Select Case .Value Case "3": .Value = "1" Case "1": .Value = "2" Case "2": .Value = "3" Case Else: .Value = "1" End Select End With Else If IsEmpty(Target) Then Exit Sub If Target.Column <> 5 Then Exit Sub Sheets("Pro").Cells(1, 5).Value = Target.Value Sheets("Pro").Cells(1, 5) = Split(Sheets("Pro").Cells(1, 5).Value, ",")(0) End If End Sub
If Target.Column <> 8 Then Exit Sub u = Target.Row i = Sheets("ListD").Cells(Rows.Count, "B").End(xlUp).Row + 1 Sheets("ListD").Cells(i, 1).Resize(, 10).Value = Sheets("Pro").Cells(u, 1).Resize(, 10).Value
[/vba]
Спасибо, Pelena
А если добавить третий?
[vba]
Код
If Target.Column <> 8 Then Exit Sub u = Target.Row i = Sheets("ListD").Cells(Rows.Count, "B").End(xlUp).Row + 1 Sheets("ListD").Cells(i, 1).Resize(, 10).Value = Sheets("Pro").Cells(u, 1).Resize(, 10).Value
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True If Target = Cells(1, 1) Then With Target Select Case .Value Case "3": .Value = "1" Case "1": .Value = "2" Case "2": .Value = "3" Case Else: .Value = "1" End Select End With Else If Target.Column = 8 Then u = Target.Row i = Sheets("ListD").Cells(Rows.Count, "B").End(xlUp).Row + 1 Sheets("ListD").Cells(i, 1).Resize(, 10).Value = Sheets("Pro").Cells(u, 1).Resize(, 10).Value Else If IsEmpty(Target) Then Exit Sub If Target.Column <> 5 Then Exit Sub Sheets("Pro").Cells(1, 5).Value = Target.Value Sheets("Pro").Cells(1, 5) = Split(Sheets("Pro").Cells(1, 5).Value, ",")(0) End If End If End Sub
[/vba]
Ну, по аналогии же [vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True If Target = Cells(1, 1) Then With Target Select Case .Value Case "3": .Value = "1" Case "1": .Value = "2" Case "2": .Value = "3" Case Else: .Value = "1" End Select End With Else If Target.Column = 8 Then u = Target.Row i = Sheets("ListD").Cells(Rows.Count, "B").End(xlUp).Row + 1 Sheets("ListD").Cells(i, 1).Resize(, 10).Value = Sheets("Pro").Cells(u, 1).Resize(, 10).Value Else If IsEmpty(Target) Then Exit Sub If Target.Column <> 5 Then Exit Sub Sheets("Pro").Cells(1, 5).Value = Target.Value Sheets("Pro").Cells(1, 5) = Split(Sheets("Pro").Cells(1, 5).Value, ",")(0) End If End If End Sub
Не нужно по аналогии. Нужно определиться, какие действия, и при каких условиях должен выполнять макрос, и исходя из этого выстраивать логику его работы. В ином случае можно легко напороться на взаимоисключающие условия.
Не нужно по аналогии. Нужно определиться, какие действия, и при каких условиях должен выполнять макрос, и исходя из этого выстраивать логику его работы. В ином случае можно легко напороться на взаимоисключающие условия.RAN