Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2012, 06:10   #1
all4you
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 14
По умолчанию =СЛУЧМЕЖДУ(;) Как зафиксировать результат?

Ребят привет. Подскажите, пожалуйста, у меня используется формула, =СЛУЧМЕЖДУ(1;20), которая выдает случайным образом значения от 1 до 20. Значения в ячейках при использовании этой формулы меняются произвольно при любом действии на листе или других листах книги. Хотелось бы сделать так: сохранить значения в ячейках полученные при применении формулы, т.е. удалить из ячеек формулу при этом чтобы сохранились значения и в будущем при работе с книгой значения в ячейках не изменялись. Возможно ли сделать такое? Спасибо.
all4you вне форума Ответить с цитированием
Старый 23.01.2012, 06:11   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

1. Выделяем и копируем диапазон с формулами
2. Правка - Специальная вставка - ставим галочку "только значения"
EducatedFool вне форума Ответить с цитированием
Старый 23.01.2012, 06:43   #3
all4you
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 14
По умолчанию

Спасибо. А возможно еще это каким-нибудь образом сделать? Просто данные до 1000 ячеек доходят и копировать со специально вставкой не так удобно. Что-нибудь типа: убрать формулы, но сохранить значения?
all4you вне форума Ответить с цитированием
Старый 23.01.2012, 08:17   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Что вам мешает выделить сразу все 1000 ячеек, и проделать указанную операцию?
EducatedFool вне форума Ответить с цитированием
Старый 23.01.2012, 08:21   #5
all4you
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 14
По умолчанию

В принципе ничего не мешает. Уже попробовал, вполне устраивает предложенный вами способ. Спасибо еще раз!
all4you вне форума Ответить с цитированием
Старый 12.04.2016, 19:09   #6
dejura
Новичок
Джуниор
 
Регистрация: 12.04.2016
Сообщений: 7
По умолчанию Помогите

Прошу прощения, а в дополнение к этой формуле =СЛУЧМЕЖДУ(1;20) можно добавить еще одно условие, что это случайное число кроме того что оно в диапазоне от 1 до 20 еще и не равно например 2, 4, и 8? Помогите, пожалуйста
dejura вне форума Ответить с цитированием
Старый 12.04.2016, 20:01   #7
Demetros
Форумчанин
 
Регистрация: 28.01.2014
Сообщений: 126
По умолчанию

Я так делаю:

Код:
Sub test()
'удаление указанной формулы с активного листа
    Application.Calculation = xlCalculationManual
        For Each cell In ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas)
        If cell.FormulaLocal = "=СЛУЧМЕЖДУ(1;20)" Then cell.Value = cell.Value
        Next cell
    Application.Calculation = xlCalculationAutomatic
End Sub

Последний раз редактировалось Demetros; 12.04.2016 в 20:04.
Demetros вне форума Ответить с цитированием
Старый 12.04.2016, 20:10   #8
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
=ИНДЕКС({1;3;5;6;7;9;10;11;12;13;14;15;16;17;18;19;20};СЛУЧМЕЖДУ(1;17))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 12.04.2016, 23:53   #9
dejura
Новичок
Джуниор
 
Регистрация: 12.04.2016
Сообщений: 7
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Код:
=ИНДЕКС({1;3;5;6;7;9;10;11;12;13;14;15;16;17;18;19;20};СЛУЧМЕЖДУ(1;17))
А почему во второй части
СЛУЧМЕЖДУ(1;17) ???
Диапозон же между 1 и 20. Почему у Вас 17.
dejura вне форума Ответить с цитированием
Старый 13.04.2016, 00:10   #10
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а потому, что случайные между 1 и 20 за исключением 2, 4, 8
связь не улавливаете?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Формула СЛУЧМЕЖДУ и ЕСЛИ ЭльвинаСС Помощь студентам 5 08.03.2011 19:30
Как зафиксировать? cargo29 Общие вопросы Delphi 5 20.01.2011 17:52
Зафиксировать результат условного форматирования KOHCEPBATOP Microsoft Office Excel 3 16.08.2010 09:27
Как зафиксировать куки? mogul82 PHP 2 22.12.2008 22:28
Как зафиксировать ячейку? gait HTML и CSS 4 22.11.2007 18:14