Никак не могу одолеть следующую проблемку: есть три работника, у каждого из которых есть свой пул задач. Пул - это лист в файле. Файл общий. Есть лист, где представлены все задания и указано, в каком пуле находится задание сейчас. Нужно сделать так, чтобы если на общем листе меняли пул, в котором находится задание, оно перемещалось с листа соответствующего пула на другой лист. Пока пытаюсь это сделать макросами, формулами не придумал как.
Подскажите, пожалуйста, как это сделать наиболее оптимально. Файл с примером приложен.
Проблема в следующем: все данные с листа помещаю в массив, чтобы их быстрее обработать. На малых объемах все работает хорошо. На больших, близких к граничным, вылезает ошибка "RunTime Error 7 - Out of Memory".
Она вылезает или на ReDim массива, или на присвоении массиву диапазона с листа.
Что странно, так это ошибка не вылезает, если использую константу в 1 500 000 (строк), а если через переменную передаю 1048574 (строк), то вылезает. Это и взрывает мне мозг.
При отправке сообщения и предварительном просмотре строки разбиты нормально. Но после отправки (или после ответа в теме, не проследил) строки исчезают, весь код в одну строку.
Также, если при написании сообщения нажать "Просмотр", то внизу в тексте сообщения строки кода собьются.
Необходимо консультация сообщества. Есть двумерный массив. Воспринимаю его как матрицу. Нужно скопировать строку из этой матрицы в другой двумерный массив. Возможно ли это сделать одной операцией?
На попытку просто использовать "=" выдается Run-time error 9: subsctipt out of range Копировать строку по элементам не хочется, т.к. придется много копировать, а это приведет к потере времени Код:
Код
Sub ChangeData() Prepare 'initialization Dim R_data As Variant Dim Target_data As Variant 'change dimention ReDim R_data(1 To 7, 1 To 2) As Variant ReDim Target_data(1 To 7, 1 To 2) As Variant 'put data in array R_data = Sheets(1).Range(Sheets(1).Cells(1, 1), Sheets(1).Cells(7, 2)) 'change data R_data(6, 2) = "FFFFFF" 'HERE I have a problem 'Copy line 6 to the second array Target_data(6) = R_data(6) 'return data on sheet Sheets(1).Clear Sheets(1).Range(Sheets(1).Cells(1, 1), Sheets(1).Cells(7, 2)) = R_data Ended End Sub
Предлагаю использовать что-то более простое в качестве капчи. Обычному человеку проблематично разгадать буквы, наложенные друг на друга, особенно если I подложить под F. Не поймешь, есть там что-то или нет.