вопрос наверное совсем дилетанский но я на нем встал как объединить эти два макроса пытаюсь засунуть в исходный текст одного листа помогите пожалуйста...
вот 1й: [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Target.Column = 7 Or Target.Column = 8 Then Application.EnableEvents = 0 Target = WorksheetFunction.Proper(Target) End If Application.EnableEvents = 1 End Sub
[/vba]
вот 2й:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 3 Then Exit Sub If Target.Columns.Count > 1 Then Exit Sub Application.EnableEvents = False Dim c As Range For Each c In Target If c Like "изолента*" Then c.Offset(, 32) = "-" c.Offset(, 33) = Now Else c.Offset(, 32).Resize(, 2).ClearContents End If Next c Application.EnableEvents = True End Sub
[/vba]
вопрос наверное совсем дилетанский но я на нем встал как объединить эти два макроса пытаюсь засунуть в исходный текст одного листа помогите пожалуйста...
вот 1й: [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Target.Column = 7 Or Target.Column = 8 Then Application.EnableEvents = 0 Target = WorksheetFunction.Proper(Target) End If Application.EnableEvents = 1 End Sub
[/vba]
вот 2й:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 3 Then Exit Sub If Target.Columns.Count > 1 Then Exit Sub Application.EnableEvents = False Dim c As Range For Each c In Target If c Like "изолента*" Then c.Offset(, 32) = "-" c.Offset(, 33) = Now Else c.Offset(, 32).Resize(, 2).ClearContents End If Next c Application.EnableEvents = True End Sub
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub Application.EnableEvents = False If Target.Column = 7 Or Target.Column = 8 Then Target = WorksheetFunction.Proper(Target) ElseIf Target.Column <> 3 Then Exit Sub Dim c As Range For Each c In Target If c Like "изолента*" Then c.Offset(, 32) = "-" c.Offset(, 33) = Now Else c.Offset(, 32).Resize(, 2).ClearContents End If Next c End If Application.EnableEvents = True End Sub
[/vba]
Примерно так: [vba]
Code
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub Application.EnableEvents = False If Target.Column = 7 Or Target.Column = 8 Then Target = WorksheetFunction.Proper(Target) ElseIf Target.Column <> 3 Then Exit Sub Dim c As Range For Each c In Target If c Like "изолента*" Then c.Offset(, 32) = "-" c.Offset(, 33) = Now Else c.Offset(, 32).Resize(, 2).ClearContents End If Next c End If Application.EnableEvents = True End Sub
Да в чём угодно! Никто же, кроме вас, не знает как он должен работать. Отлаживайте. Ставьте СТОПы, смотрите значения переменных ... Это основная часть работы с макросами.
Да в чём угодно! Никто же, кроме вас, не знает как он должен работать. Отлаживайте. Ставьте СТОПы, смотрите значения переменных ... Это основная часть работы с макросами.Формуляр
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Target.Column = 3 Then Application.EnableEvents = False Target.Offset(, 32).Resize(, 2).ClearContents If Target Like "изолента*" Then: Target.Offset(, 32) = "-": Target.Offset(, 33) = Now ElseIf Target.Column = 7 Or Target.Column = 8 Then Application.EnableEvents = False Target = StrConv(Target, 3) End If Application.EnableEvents = True End Sub
[/vba]
[vba]
Code
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Target.Column = 3 Then Application.EnableEvents = False Target.Offset(, 32).Resize(, 2).ClearContents If Target Like "изолента*" Then: Target.Offset(, 32) = "-": Target.Offset(, 33) = Now ElseIf Target.Column = 7 Or Target.Column = 8 Then Application.EnableEvents = False Target = StrConv(Target, 3) End If Application.EnableEvents = True End Sub