Наверное легкий вопрос, но всё таки попробую расшевелить "макросоведов"
Тоже легкий вопрос. Ситуация - сотрудник вручную или копи-пастом вводит в некую таблицу данные. Для простоты примем, что ввод происходит поячеечно (никаких Ctrl+Enter и вставок в несколько ячеек сразу). В силу каких-либо (не важно) причин, в каждой ячейке может быть не более 20 символов. Сотрудник не очень внимателен и периодически вводит больше. Задача - ограничить количество символов в ячейке (с помощью Worksheet_Change) 20-ю первыми символами (лишнее тупо отбрасывается без предупреждения - по типу сам дурак, считать нужно уметь). Ограничение - все это нужно сделать без использования функций (всяких там лефтов, мидов и проч.). Еще раз повторюсь - задача легкая, можно сказать, что больше не на знания, а на сообразительность. Да, еще - Данные-Проверка данных-Длина текста при этом не используем.
Quote (LightZ)
Наверное легкий вопрос, но всё таки попробую расшевелить "макросоведов"
Тоже легкий вопрос. Ситуация - сотрудник вручную или копи-пастом вводит в некую таблицу данные. Для простоты примем, что ввод происходит поячеечно (никаких Ctrl+Enter и вставок в несколько ячеек сразу). В силу каких-либо (не важно) причин, в каждой ячейке может быть не более 20 символов. Сотрудник не очень внимателен и периодически вводит больше. Задача - ограничить количество символов в ячейке (с помощью Worksheet_Change) 20-ю первыми символами (лишнее тупо отбрасывается без предупреждения - по типу сам дурак, считать нужно уметь). Ограничение - все это нужно сделать без использования функций (всяких там лефтов, мидов и проч.). Еще раз повторюсь - задача легкая, можно сказать, что больше не на знания, а на сообразительность. Да, еще - Данные-Проверка данных-Длина текста при этом не используем._Boroda_
Пока получается только с помощью Len наверное сообразительность "сломалась", но ещё подумаю может дадите подсказку, хотя бы в какую сторону рыть?
Quote (_Boroda_)
Тоже легкий вопрос.
Пока получается только с помощью Len наверное сообразительность "сломалась", но ещё подумаю может дадите подсказку, хотя бы в какую сторону рыть? LightZ
Выложите Ваш ответ? Т.к. кроме left - ничего больше в голову не приходит
Да тут все просто на самом деле - штука в том, чтобы не считать каждый раз, ресурсы не тратить, а заранее указать, сколько символов переменная занимать будет [vba]
Code
Private Sub Worksheet_Change(ByVal Target As Range) Dim a As String * 20 a = Target Target = a End Sub
[/vba]
Quote (LightZ)
Выложите Ваш ответ? Т.к. кроме left - ничего больше в голову не приходит
Да тут все просто на самом деле - штука в том, чтобы не считать каждый раз, ресурсы не тратить, а заранее указать, сколько символов переменная занимать будет [vba]
Code
Private Sub Worksheet_Change(ByVal Target As Range) Dim a As String * 20 a = Target Target = a End Sub