Очищать ячейку по условию
monstr_ork
Дата: Четверг, 05.04.2018, 11:17 |
Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Здравствуйте форумчане. Подскажите пожалуйста, можно ли поставить на ячейку условие, что при закрытии файла она не сохраняется. Т.е. на файл в целом это не распространяется. Это мне нужно для того, что бы вводить туда значения, но оно мне важно только пока файл открыт.
Здравствуйте форумчане. Подскажите пожалуйста, можно ли поставить на ячейку условие, что при закрытии файла она не сохраняется. Т.е. на файл в целом это не распространяется. Это мне нужно для того, что бы вводить туда значения, но оно мне важно только пока файл открыт. monstr_ork
Ответить
Сообщение Здравствуйте форумчане. Подскажите пожалуйста, можно ли поставить на ячейку условие, что при закрытии файла она не сохраняется. Т.е. на файл в целом это не распространяется. Это мне нужно для того, что бы вводить туда значения, но оно мне важно только пока файл открыт. Автор - monstr_ork Дата добавления - 05.04.2018 в 11:17
sboy
Дата: Четверг, 05.04.2018, 11:18 |
Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация:
724
±
Замечаний:
0% ±
Excel 2010
Можно очищать эту ячейку перед сохранением/закрытием книги
Можно очищать эту ячейку перед сохранением/закрытием книги sboy
Яндекс: 410016850021169
Ответить
Сообщение Можно очищать эту ячейку перед сохранением/закрытием книги Автор - sboy Дата добавления - 05.04.2018 в 11:18
monstr_ork
Дата: Четверг, 05.04.2018, 11:54 |
Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
sboy, вручную? это не подходит. Если вы имеете что то другое, то могли бы Вы более подробно написать?
sboy, вручную? это не подходит. Если вы имеете что то другое, то могли бы Вы более подробно написать? monstr_ork
Ответить
Сообщение sboy, вручную? это не подходит. Если вы имеете что то другое, то могли бы Вы более подробно написать? Автор - monstr_ork Дата добавления - 05.04.2018 в 11:54
sboy
Дата: Четверг, 05.04.2018, 12:04 |
Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация:
724
±
Замечаний:
0% ±
Excel 2010
могли бы Вы более подробно написать?
Мог бы, если бы Вы написали поподробней что это за ячейка, на каком листе... [vba]Код
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Sheets(1).Cells(1, 1).ClearContents End Sub
[/vba]
могли бы Вы более подробно написать?
Мог бы, если бы Вы написали поподробней что это за ячейка, на каком листе... [vba]Код
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Sheets(1).Cells(1, 1).ClearContents End Sub
[/vba]sboy
Яндекс: 410016850021169
Ответить
Сообщение могли бы Вы более подробно написать?
Мог бы, если бы Вы написали поподробней что это за ячейка, на каком листе... [vba]Код
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Sheets(1).Cells(1, 1).ClearContents End Sub
[/vba]Автор - sboy Дата добавления - 05.04.2018 в 12:04
n0leg68
Дата: Четверг, 05.04.2018, 12:15 |
Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 88
Репутация:
11
±
Замечаний:
0% ±
Excel 2013
А я вот так постоянно очищаю в своих файлах: [vba]Код
Private Sub CommandButton1_Click() Range("B2:B5").ClearContents End Sub
[/vba] B2:B5 - это ячейки которые будут очищаться при нажатии на кнопку.
А я вот так постоянно очищаю в своих файлах: [vba]Код
Private Sub CommandButton1_Click() Range("B2:B5").ClearContents End Sub
[/vba] B2:B5 - это ячейки которые будут очищаться при нажатии на кнопку. n0leg68
Сообщение отредактировал n0leg68 - Четверг, 05.04.2018, 12:18
Ответить
Сообщение А я вот так постоянно очищаю в своих файлах: [vba]Код
Private Sub CommandButton1_Click() Range("B2:B5").ClearContents End Sub
[/vba] B2:B5 - это ячейки которые будут очищаться при нажатии на кнопку. Автор - n0leg68 Дата добавления - 05.04.2018 в 12:15
monstr_ork
Дата: Четверг, 05.04.2018, 12:42 |
Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
sboy, ячейка то любая, как я понимаю, ее можно будет поменять тут "Cells(1, 1)", но я что-то не понял, куда этот код вставлять? в модуль или в лист? Просто у меня что то не стирает значение в ячейке А1, на первом листе
sboy, ячейка то любая, как я понимаю, ее можно будет поменять тут "Cells(1, 1)", но я что-то не понял, куда этот код вставлять? в модуль или в лист? Просто у меня что то не стирает значение в ячейке А1, на первом листе monstr_ork
Ответить
Сообщение sboy, ячейка то любая, как я понимаю, ее можно будет поменять тут "Cells(1, 1)", но я что-то не понял, куда этот код вставлять? в модуль или в лист? Просто у меня что то не стирает значение в ячейке А1, на первом листе Автор - monstr_ork Дата добавления - 05.04.2018 в 12:42
monstr_ork
Дата: Четверг, 05.04.2018, 12:43 |
Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
n0leg68, дело в том, что мне не надо по нажатию, это я умею сделать, это через макрорекодер можно сделать. Мне важно только чтобы она не сохранялась, чтобы закрыл лист, а она стерлась. (Можно и при открытии файла. если уж нельзя при закрытии)
n0leg68, дело в том, что мне не надо по нажатию, это я умею сделать, это через макрорекодер можно сделать. Мне важно только чтобы она не сохранялась, чтобы закрыл лист, а она стерлась. (Можно и при открытии файла. если уж нельзя при закрытии) monstr_ork
Сообщение отредактировал monstr_ork - Четверг, 05.04.2018, 12:44
Ответить
Сообщение n0leg68, дело в том, что мне не надо по нажатию, это я умею сделать, это через макрорекодер можно сделать. Мне важно только чтобы она не сохранялась, чтобы закрыл лист, а она стерлась. (Можно и при открытии файла. если уж нельзя при закрытии) Автор - monstr_ork Дата добавления - 05.04.2018 в 12:43
and_evg
Дата: Четверг, 05.04.2018, 12:52 |
Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 452
Репутация:
78
±
Замечаний:
0% ±
Excel 2007
но я что-то не понял, куда этот код вставлять
А если бы был файл с примером, то не было бы подобных вопросов
но я что-то не понял, куда этот код вставлять
А если бы был файл с примером, то не было бы подобных вопросовand_evg
Ответить
Сообщение но я что-то не понял, куда этот код вставлять
А если бы был файл с примером, то не было бы подобных вопросовАвтор - and_evg Дата добавления - 05.04.2018 в 12:52
monstr_ork
Дата: Четверг, 05.04.2018, 12:57 |
Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Да без проблем.
Ответить
Сообщение Да без проблем. Автор - monstr_ork Дата добавления - 05.04.2018 в 12:57
китин
Дата: Четверг, 05.04.2018, 13:12 |
Сообщение № 10
Группа: Модераторы
Ранг: Экселист
Сообщений: 7013
Репутация:
1073
±
Замечаний:
0% ±
Excel 2007;2010;2016
дык при деактивации листа или при закрытии файла?
дык при деактивации листа или при закрытии файла?китин
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Ответить
Сообщение дык при деактивации листа или при закрытии файла?Автор - китин Дата добавления - 05.04.2018 в 13:12
monstr_ork
Дата: Четверг, 05.04.2018, 13:16 |
Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
А что значит "деактивации"? Мне важно, чтобы когда закрыл файл там было пусто, открыл, там было пусто. Пока открыт файл, туда вносятся данные, которые я потом буду вытаскивать из этой ячейки.
А что значит "деактивации"? Мне важно, чтобы когда закрыл файл там было пусто, открыл, там было пусто. Пока открыт файл, туда вносятся данные, которые я потом буду вытаскивать из этой ячейки. monstr_ork
Ответить
Сообщение А что значит "деактивации"? Мне важно, чтобы когда закрыл файл там было пусто, открыл, там было пусто. Пока открыт файл, туда вносятся данные, которые я потом буду вытаскивать из этой ячейки. Автор - monstr_ork Дата добавления - 05.04.2018 в 13:16
Mikael
Дата: Четверг, 05.04.2018, 13:22 |
Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 80
Репутация:
31
±
Замечаний:
0% ±
Excel 2010
закрыл файл там было пусто, открыл, там было пусто
Пока Вы не откроете файл Вы не узнаете пустая там ячейка или нет. Там будет ячейка Шредингера. Поэтому предлагаю использовать событие открытия книги.
[vba]
Код
Private Sub Workbook_Open() ThisWorkbook.Worksheets(1).[a2].ClearContents End Sub
[/vba]
Если очень хочется на закрытие, в модуле книги закомментировал код.UPD лучше вот так: [vba]Код
Private Sub Workbook_Open() With ThisWorkbook .Worksheets(1).[a2].ClearContents .Save End With End Sub
[/vba] обновил файл
закрыл файл там было пусто, открыл, там было пусто
Пока Вы не откроете файл Вы не узнаете пустая там ячейка или нет. Там будет ячейка Шредингера. Поэтому предлагаю использовать событие открытия книги.
[vba]
Код
Private Sub Workbook_Open() ThisWorkbook.Worksheets(1).[a2].ClearContents End Sub
[/vba]
Если очень хочется на закрытие, в модуле книги закомментировал код.UPD лучше вот так: [vba]Код
Private Sub Workbook_Open() With ThisWorkbook .Worksheets(1).[a2].ClearContents .Save End With End Sub
[/vba] обновил файлMikael
Сообщение отредактировал Mikael - Четверг, 05.04.2018, 13:34
Ответить
Сообщение закрыл файл там было пусто, открыл, там было пусто
Пока Вы не откроете файл Вы не узнаете пустая там ячейка или нет. Там будет ячейка Шредингера. Поэтому предлагаю использовать событие открытия книги.
[vba]
Код
Private Sub Workbook_Open() ThisWorkbook.Worksheets(1).[a2].ClearContents End Sub
[/vba]
Если очень хочется на закрытие, в модуле книги закомментировал код.UPD лучше вот так: [vba]Код
Private Sub Workbook_Open() With ThisWorkbook .Worksheets(1).[a2].ClearContents .Save End With End Sub
[/vba] обновил файлАвтор - Mikael Дата добавления - 05.04.2018 в 13:22
monstr_ork
Дата: Четверг, 05.04.2018, 13:31 |
Сообщение № 13
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Mikael, благодарю, то что надо, особенно с закрытием. [vba]Код
.Worksheets(1).[A2].ClearContents
[/vba] "Worksheets(1)" - это название листа, то есть я могу прописать любой лист, где мне не нужно чтобы сохранялось?
Mikael, благодарю, то что надо, особенно с закрытием. [vba]Код
.Worksheets(1).[A2].ClearContents
[/vba] "Worksheets(1)" - это название листа, то есть я могу прописать любой лист, где мне не нужно чтобы сохранялось? monstr_ork
Ответить
Сообщение Mikael, благодарю, то что надо, особенно с закрытием. [vba]Код
.Worksheets(1).[A2].ClearContents
[/vba] "Worksheets(1)" - это название листа, то есть я могу прописать любой лист, где мне не нужно чтобы сохранялось? Автор - monstr_ork Дата добавления - 05.04.2018 в 13:31
Mikael
Дата: Четверг, 05.04.2018, 13:35 |
Сообщение № 14
Группа: Пользователи
Ранг: Участник
Сообщений: 80
Репутация:
31
±
Замечаний:
0% ±
Excel 2010
monstr_ork , да, можно и по имени листа: Worksheets("Лист1")
monstr_ork , да, можно и по имени листа: Worksheets("Лист1")Mikael
Ответить
Сообщение monstr_ork , да, можно и по имени листа: Worksheets("Лист1")Автор - Mikael Дата добавления - 05.04.2018 в 13:35
monstr_ork
Дата: Четверг, 05.04.2018, 13:39 |
Сообщение № 15
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Mikael, тогда все, вопрос решен. [p.s.]Плюс поставил[/p.s.]
Mikael, тогда все, вопрос решен. [p.s.]Плюс поставил[/p.s.] monstr_ork
Ответить
Сообщение Mikael, тогда все, вопрос решен. [p.s.]Плюс поставил[/p.s.] Автор - monstr_ork Дата добавления - 05.04.2018 в 13:39
Mikael
Дата: Четверг, 05.04.2018, 13:50 |
Сообщение № 16
Группа: Пользователи
Ранг: Участник
Сообщений: 80
Репутация:
31
±
Замечаний:
0% ±
Excel 2010
monstr_ork , это, конечно, хорошо Рад помочь. Тогда выложу код на закрытие [vba]Код
Private Sub Workbook_BeforeClose(Cancel As Boolean) On Error Resume Next Application.EnableEvents = False With ThisWorkbook Dim bSaved As Boolean bSaved = .Saved .Worksheets(1).[a2].ClearContents If bSaved Then .Save End With Application.EnableEvents = True End Sub
[/vba] Но тут есть подводные камни: если параметр книги .Saved перед закрытием книги равен False, то закрытие книги вызовет окошко с предложением сохранить, нет, отмена. Проблема в том, что событие закрытие возникает перед появлением этого окна, т.е. если даже пользователь нажмет отмена, ячейка все равно уже будет очищена. Поэтому я и предлагал использовать событие открытие книги.
monstr_ork , это, конечно, хорошо Рад помочь. Тогда выложу код на закрытие [vba]Код
Private Sub Workbook_BeforeClose(Cancel As Boolean) On Error Resume Next Application.EnableEvents = False With ThisWorkbook Dim bSaved As Boolean bSaved = .Saved .Worksheets(1).[a2].ClearContents If bSaved Then .Save End With Application.EnableEvents = True End Sub
[/vba] Но тут есть подводные камни: если параметр книги .Saved перед закрытием книги равен False, то закрытие книги вызовет окошко с предложением сохранить, нет, отмена. Проблема в том, что событие закрытие возникает перед появлением этого окна, т.е. если даже пользователь нажмет отмена, ячейка все равно уже будет очищена. Поэтому я и предлагал использовать событие открытие книги.Mikael
Ответить
Сообщение monstr_ork , это, конечно, хорошо Рад помочь. Тогда выложу код на закрытие [vba]Код
Private Sub Workbook_BeforeClose(Cancel As Boolean) On Error Resume Next Application.EnableEvents = False With ThisWorkbook Dim bSaved As Boolean bSaved = .Saved .Worksheets(1).[a2].ClearContents If bSaved Then .Save End With Application.EnableEvents = True End Sub
[/vba] Но тут есть подводные камни: если параметр книги .Saved перед закрытием книги равен False, то закрытие книги вызовет окошко с предложением сохранить, нет, отмена. Проблема в том, что событие закрытие возникает перед появлением этого окна, т.е. если даже пользователь нажмет отмена, ячейка все равно уже будет очищена. Поэтому я и предлагал использовать событие открытие книги.Автор - Mikael Дата добавления - 05.04.2018 в 13:50