Помогите с решением проблемы. Хочу ребенку сделать файлик, чтобы он мог делать упражнения по математике. Проблема состоит в том, что есть исходная таблица с примерами и чтобы мне не вносить примеры те же только в новой последовательности (чтобы ребенок не привыкал) хочу сделать перенос данных автоматически в другую таблицу, но только задавая критерии переноса. Например перенести только четную нумерацию строк, а идеально конечно чтобы была возможность задавать произвольную последовательность переноса. Пример прикреплен.
Заранее благодарен.
Добрый день.
Помогите с решением проблемы. Хочу ребенку сделать файлик, чтобы он мог делать упражнения по математике. Проблема состоит в том, что есть исходная таблица с примерами и чтобы мне не вносить примеры те же только в новой последовательности (чтобы ребенок не привыкал) хочу сделать перенос данных автоматически в другую таблицу, но только задавая критерии переноса. Например перенести только четную нумерацию строк, а идеально конечно чтобы была возможность задавать произвольную последовательность переноса. Пример прикреплен.
AlexM, спасибо огромное... я вначале думал использовать как-то функцию ВПР, но так и не придумал как задать параметры. Это отличный вариант сейчас подставлю в свою таблицу...
AlexM, спасибо огромное... я вначале думал использовать как-то функцию ВПР, но так и не придумал как задать параметры. Это отличный вариант сейчас подставлю в свою таблицу...122334boss
Sub Macros() Dim M() As Long, N As Long Dim i As Long, j As Long, p As Long, sl As Long N = 10 'задает диапазон ReDim M(1 To N) Randomize M(1) = Int(N * Rnd + 1) For i = 2 To N Randomize sl = Int(N * Rnd + 1) p = 0 For j = 1 To i - 1 If M(j) = sl Then p = 1: Exit For Next j If p = 0 Then M(i) = sl Else i = i - 1 End If Next i Range("F3").Resize(N, 1) = Application.Transpose(M) End Sub
[/vba]
Без макроса не получится, так как функция СЛЧИС() пересчитывается при любом изменении значений на листе.
Если ВПР() больше нравится, то так
Код
=ВПР(F3;A$3:B$12;2;)
Для диапазона ввел переменную N
[vba]
Код
Sub Macros() Dim M() As Long, N As Long Dim i As Long, j As Long, p As Long, sl As Long N = 10 'задает диапазон ReDim M(1 To N) Randomize M(1) = Int(N * Rnd + 1) For i = 2 To N Randomize sl = Int(N * Rnd + 1) p = 0 For j = 1 To i - 1 If M(j) = sl Then p = 1: Exit For Next j If p = 0 Then M(i) = sl Else i = i - 1 End If Next i Range("F3").Resize(N, 1) = Application.Transpose(M) End Sub
[/vba]
Без макроса не получится, так как функция СЛЧИС() пересчитывается при любом изменении значений на листе.AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Сообщение отредактировал AlexM - Понедельник, 02.02.2015, 17:55
AlexM, подскажите, в данный момент строк в таблице мало, но когда я в макросе прописал 1000 на будущее, то при сортировке в таблице появились ячейки с "0" и причем в хаотическом порядке, т.е. в начале идет значение, затем куча ноликов потом опять значение и нолики, как сделать так чтобы нолики были в конце списка? или по мере наполнения таблицы увеличивать диапазон в мкросе?
AlexM, подскажите, в данный момент строк в таблице мало, но когда я в макросе прописал 1000 на будущее, то при сортировке в таблице появились ячейки с "0" и причем в хаотическом порядке, т.е. в начале идет значение, затем куча ноликов потом опять значение и нолики, как сделать так чтобы нолики были в конце списка? или по мере наполнения таблицы увеличивать диапазон в мкросе?122334boss