Очистить ячейку где по формуле вышло число 1, + удалить ячейку на 3 хода вправо. Например в ячейке A1 число 1, нужно эту ячейку A1 очистить + очистить ещё D1
Здравствуйте.
Очистить ячейку где по формуле вышло число 1, + удалить ячейку на 3 хода вправо. Например в ячейке A1 число 1, нужно эту ячейку A1 очистить + очистить ещё D1stalber
Sub io() Dim cell As Range For Each cell In Range("A1:C3").Cells If cell = 1 Then cell.ClearContents cell.Offset(0, 3).ClearContents End If Next cell End Sub
[/vba]
[vba]
Код
Sub io() Dim cell As Range For Each cell In Range("A1:C3").Cells If cell = 1 Then cell.ClearContents cell.Offset(0, 3).ClearContents End If Next cell End Sub
Подскажите пожалуйста, как использовать этот код, первый раз с этим сталкиваюсь Можете пожалуйста вставить этот код в мой примерочный файл и скажите пожалуйста как его запустить
Подскажите пожалуйста, как использовать этот код, первый раз с этим сталкиваюсь Можете пожалуйста вставить этот код в мой примерочный файл и скажите пожалуйста как его запуститьstalber
Сообщение отредактировал stalber - Понедельник, 19.12.2022, 00:44
Какие-то начальные символы строки при копировании отсюда "фонят". Прогоните все красные строки клавишей Backspace до начала строки, [vba]
Код
Sub io() Dim cell As Range For Each cell In Range("A1:C3").Cells If cell = 1 Then cell.ClearContents cell.Offset(0, 3).ClearContents End If Next cell End Sub
[/vba] а потом клавишей Tab восстановите отступы. Должно полегчать!
И Вы завернули макросы в шаблонный файл с расширением .xlTm (потом могут быть проблемы), надо было попроще - .xlSm.
Какие-то начальные символы строки при копировании отсюда "фонят". Прогоните все красные строки клавишей Backspace до начала строки, [vba]
Код
Sub io() Dim cell As Range For Each cell In Range("A1:C3").Cells If cell = 1 Then cell.ClearContents cell.Offset(0, 3).ClearContents End If Next cell End Sub
[/vba] а потом клавишей Tab восстановите отступы. Должно полегчать!
И Вы завернули макросы в шаблонный файл с расширением .xlTm (потом могут быть проблемы), надо было попроще - .xlSm.Gustav
А как 2 кода соединить воедино??, чтобы не приходилось дважды кликать на 2 макроса. [vba]
Код
Sub io() Dim cell As Range For Each cell In Range("A1:C3").Cells If cell = 1 Then cell.ClearContents cell.Offset(0, 3).ClearContents End If Next cell End Sub
Sub io() Dim cell As Range For Each cell In Range("D1:F3").Cells If cell = 1 Then cell.ClearContents cell.Offset(0, -3).ClearContents End If Next cell End Sub
[/vba]
А как 2 кода соединить воедино??, чтобы не приходилось дважды кликать на 2 макроса. [vba]
Код
Sub io() Dim cell As Range For Each cell In Range("A1:C3").Cells If cell = 1 Then cell.ClearContents cell.Offset(0, 3).ClearContents End If Next cell End Sub
Sub io() Dim cell As Range For Each cell In Range("D1:F3").Cells If cell = 1 Then cell.ClearContents cell.Offset(0, -3).ClearContents End If Next cell End Sub
Подскажите пожалуйста, куда здесь вписать название листа? Иначе без названия, код работает на том листе на котором находишься.
[vba]
Код
Sub io() Dim cell As Range For Each cell In Range("A1:C3").Cells If cell = 1 Then cell.ClearContents cell.Offset(0, 3).ClearContents End If Next cell End Sub
[/vba]
Подскажите пожалуйста, куда здесь вписать название листа? Иначе без названия, код работает на том листе на котором находишься.
[vba]
Код
Sub io() Dim cell As Range For Each cell In Range("A1:C3").Cells If cell = 1 Then cell.ClearContents cell.Offset(0, 3).ClearContents End If Next cell End Sub
For Each cell In Worksheets("Лист1").Range("A1:C3").Cells
[/vba] И пора уже за букварь садиться и с объектной моделью Excel знакомиться, хотя бы с основными объектами, например, здесь. Там есть, например, такая цитата:
Цитата
Чтобы обратиться к объекту Excel (к листу, или ячейке) необходимо указать ссылку на этот объект, перечислив полный путь к нему в соответствии с объектной моделью.
Например, для ячейки A1 полная ссылка будет выглядеть следующим образом:
На самом деле полный путь писать не обязательно. Application - можно практически всегда не указывать. Workbooks("Название книги") - можно не указывать, если необходимо обратиться к ячейке из активной книги, а Worksheets("Название листа") можно не писать в случае если код должен выполнять действия на активном листе. Т.е. в можно упростить до:
[vba]
Код
Range("A1")
[/vba]
Цитата
Но всегда имейте ввиду, что это будет ячейка на активном листе.
[vba]
Код
For Each cell In Worksheets("Лист1").Range("A1:C3").Cells
[/vba] И пора уже за букварь садиться и с объектной моделью Excel знакомиться, хотя бы с основными объектами, например, здесь. Там есть, например, такая цитата:
Цитата
Чтобы обратиться к объекту Excel (к листу, или ячейке) необходимо указать ссылку на этот объект, перечислив полный путь к нему в соответствии с объектной моделью.
Например, для ячейки A1 полная ссылка будет выглядеть следующим образом:
На самом деле полный путь писать не обязательно. Application - можно практически всегда не указывать. Workbooks("Название книги") - можно не указывать, если необходимо обратиться к ячейке из активной книги, а Worksheets("Название листа") можно не писать в случае если код должен выполнять действия на активном листе. Т.е. в можно упростить до:
[vba]
Код
Range("A1")
[/vba]
Цитата
Но всегда имейте ввиду, что это будет ячейка на активном листе.