Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Иерархическая структура, состоящая из динамических диапазонов
 
Добрый день, уважаемые форумчане.
Столкнулся с новой задачей, которую не позволяют решить известные мне методы.

Проблема вот в чем:
В документе эксель, на каждом листе имеется таблица. Таблицы не статичны, постоянно добавляются/удаляются строки.
Как мне сделать на отдельном листе раскрывающийся список вида
+Лист1
+Лист2
+Лист3

Чтобы, при раскрытии каждого пункта, внутри него отображалась та динамическая таблица, которая соответствует этой странице.
PS От каждой таблицы мне нужны только первые 4 столбца
Однократное выполнение цикла For, Некорректная работа цикла For
 
Добрый день. Пишу относительно сложный макрос и столкнулся с такой проблемой, что цикл For должен выполняться, теоретически, некоторое количество раз, но на практике делает только одну итерацию.
Написал простую структуру своего процесса:
Код
Sub primer()
k = 0
For i = 13 To 3 Step -1
Cells(1, 2) = k + 1
    For Each Row In Selection
        If Row = 15 Then
            Row.Interior.ColorIndex = 4
            Exit For
        End If
    Next Row
Next i
End Sub
Ошибка никуда не делась.
В теле цикла содержится условие. Если условие выполняется, то всё в порядке. Цикл проходит 10 итераций (от 13 до 3)
Но если условие не выполнено, счетчик k показывает значение "1". Хотя должен, по-идее, "10".
Где ошибка в логике?
Изменено: jey - 23.01.2015 14:17:10
Проблемы с выполнением макроса из Personal.xlsb, Ошибка определения размеров таблицы
 
День добрый, уважаемые форумчане.

Недавно я осознал, что открывание документа, содержащего макрос, копирование кода и запихивание его в документ, требующий обработки - не есть лучшее решение. Настало, значит, время перемен. Ок, создаем Personal.xlsb в папке XLSTART. Запихиваем туда все нужные макросы и радуемся жизни.
Но, как оказалось, не всегда.

Дело в том, что большинство моих макросов используют значение количества строк таблицы (используемых строк).
Определяю я это количество двумя способами:

1(Реже). LastRow = Cells(Rows.Count, 2).End(xlUp).Row  - для таблицы без пустых строк

2(Чаще). LastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count    
Application.ScreenUpdating = False
                                    - для любых таблиц.


И при запуске из Personal.xlsb (Alt+F8 -> выполнить [в текущем документе]) оба этих способа начали выдавать ошибку компиляции: "Variable not defined", то бишь переменная LastRow не определена.
Странно, потому что она очень даже определена.
Копируем код макроса из модуля Personal.xlsb в модуль Лист1 текущего документа и всё прекрасно работает!
Мозговой штурм единственного штурмовика подал идею, что проблема в "ActiveSheet", то есть макрос выполняет эту команду не в нужном документе, а в пустом Personal.xlsb. Но как это исправить? Прописывание Excel.Sheet[1].. и прочие способы доопределить лист ничего не дали.

Буду рад любым идеям и теориям
Макрос для заливки нужных ячеек цветом, Считывание даты из ячейки и заливка нужного промежутка в этой же строке
 
Здравствуйте. Нужна помощь в составлении макроса, который будет считывать дату из столбца D в нестандартной форме:  "13.01-18.01.2014".
Мне отсюда нужно вытащить только начальное число "13" и конечное "18". Ячейки столбца D - текстового формата.
Затем присвоить столбцам с "E" по "AL" порядковые номера с 1 по 31 (дни месяца). И залить соответствующие ячейки цветом для каждой строки.

Пример сделан в 2003м экселе, но работаю я в 2007
Яркое выделение активной строки и столбца, Необходим макрос для подсвечивания строки и столбца выделенной ячейки
 
Здравствуйте.
Приходится вручную редактировать очень большую таблицу. Постоянно проверяю правильность строки и столбца. Есть ли уже какой-то готовый макрос, который более ярко выделяет строку и столбец активной ячейки и при этом не стирает заливку остальных ячеек?
В интернете нашел только макрос стирающий заливку других ячеек(однозначно, не подходит) и стороннюю программу. Но программу поставить не могу, т.к. комп рабочий и ставить туда ничего нельзя.
Страницы: 1
Наверх