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

Страницы: 1 2 След.
Нарезка на книги, макрос нарезки данных на книги
 
Добрый день!

Коллеги, прошу написать макрос по заданию во вложении. Пример.xlsx (13.21 КБ)(формат файла можно сделать xlsb или xlsm)

Готов предложить 500 р.

Спасибо!
Ошибка вставки значений в книгу, vba / out of range
 
Коллеги, добрый день!

Помогите, пожалуйста, решить мелкую запинку...
Вошел в ступор, никак не могу понять, почему ругается строка вставки "Workbooks(NameWOut).Worksheets(NameSh).Range("B6:G" & t + 4).PasteSpecial".

Постоянно выдает "Subscript out of range" :(

Копирую данные между книгами, вычисляя динамический диапазон копирования.
То, откуда копировать - нормально отрабатывает.
А вот куда - ругается.

Спасибо!
Код
Sub t_ept()
NameWIn = "Отчет_10.2.03.1_«Детальный.Агрегированный» BASE.xlsx"
NameWOut = "01_Закрытие_Январь 2024_.xlsx"
For i = 5 To 44
    'NameSh = ThisWorkbook.Worksheets("main").Cells(i, 2).Value
    NameSh = "БН"
    For j = 1 To 320
        If Workbooks(NameWIn).Worksheets("Лист1").Cells(j, 1).Value = ThisWorkbook.Worksheets("main").Cells(i, 3).Value Then
            t = 1
                Do While Not Workbooks(NameWIn).Worksheets("Лист1").Cells(j + t, 1).Value Like "F_*"
                    t = t + 1
                Loop
            Workbooks(NameWIn).Worksheets("Лист1").Range(Workbooks(NameWIn).Worksheets("Лист1").Cells(j + 1, 1), Workbooks(NameWIn).Worksheets("Лист1").Cells(j + t - 1, 6)).Copy
            Workbooks(NameWOut).Worksheets(NameSh).Range("B6:G" & t + 4).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        End If
    Next j
Next i
End Sub
Ускорение копирования данных из другой книги
 
Доброго времени суток, люди добрые!

Может, кто-то подскажет, как лучше решить такую маленькую проблемку.

Есть книга, в которую вставляются отдельные данные из других открываемых книг посредством нехитрого цикла прямого копирование (ниже).
Однако со временем этих циклов стало очень много, а код стал исполняться несколько десятков минут (циклов таких - многие сотни).
Появилась мысль о замене цикла прямого копирования на работу с массивами, т.е. сначала данные в массив считать, а потом разом вставить в нужное место.

НО не могу оценить, стоит ли игра свеч, ускорит ли это копирование данных (дабы впустую не переписывать тысячи строк макросов). Отсюда вопрос - имеет ли смысл переходить на работы в циклах с массивами? Имеет ли это хотя бы в теории выигрыш по времени не менее -30%? И если да, то как можно наилучшим способом трансформировать мой пример, чтобы он в теории стал работать быстрее?

Заранее премного благодарен!
Код
For j = 1 To 13
    For i = 7 To 36
        rowPL = ThisWorkbook.Worksheets("Лист").Cells(i, 2).Value
        With mySheetsPL(j)
            ThisWorkbook.Worksheets("Лист").Cells(i, j + 5).Value = .Cells(rowPL, dCol).Value 'видимо, именно эта строка занимает наибольшее время, т.к. копируется значение каждой ячейки отдельно и последовательно
        End With
    Next i
Next j
VBA: узнать адрес отправителя outlook, на компьютере отправителя
 
Добрый день!

Подскажите, пожалуйста, каким образом можно с помощью vba узнать почтовый адрес отправителя письма на компьютере отправителя, то есть свой собственный адрес.
Понимаю, что как-то сделать это можно, т.к. plex в почтовой рассылке это делает (в поле "отправить от имени" сразу появляется верный адрес).

Заранее спасибо!

p.s. может, возможно извлечь как-то еще и имя/телефон, т.к. в глобальном справочнике контактов данные эти есть
Изменено: AlexTM - 29.03.2019 16:55:41
Пароль на выбор элемента из списка
 
Добрый день!

Прошу помощи в маленьком "затыке"...

В ячейке имеется возможность выбора некоторого значения (да/нет) из списка.
Пользователь может менять значение, но только обладая правом (имея пароль), которое подтверждается при изменении ячейки.
Значение по умолчанию "нет", но иногда нужно менять свой выбор несколько раз туда-сюда.
Подскажите, пожалуйста, как это можно реализовать?

Моя текущая мысль уходит в цикл :(
Никак не могу придумать, как бы спросить пароль один раз и прекратить действие сразу после смены значения до момента следующего выбора.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
Pass = InputBox("Введите пароль:")
If Pass = "000" Then
    ThisWorkbook.Worksheets("Лист1").Range("A1").Value = "ДА"
Else
    ThisWorkbook.Worksheets("Лист1").Range("A1").Value = "НЕТ"
End If
End Sub

Заранее благодарю!

p.s. пример почему-то не хочет прикрепляться..
Перехват диалоговых окон, перехват окон другого макроса
 
Добрый день!..

Никак не могу найти, каким образом можно макросом в одной книге перехватывать диалоговые окна в другом.

В частности, есть файл, который скопом забирает в себя данные из других файлов, однако в каждом из последних при закрытии книги обязательно отрабатывается свой код с результатами: 1) сообщение о статусе, на которое нужно отвечать просто "ок"; 2) сообщение о действии, на которое нужно отвечать "да/нет" (в частности, вариант нет).
Подскажите, пожалуйста, можно ли стандартными средствами (без доп.надстроек/программ, ибо нет прав на их установку) осуществлять данный перехват в коде файла-сборщика?

Заранее благодарю.

(была идея заранее устанавливать данный параметр в файл-сборщике, а затем в каждом файле-источнике перед закрытие проверять значение параметра и соответственно выполнять основной код или нет, но не подходит из-за своей негибкости - иногда меняются названия и/или действительно нужно отработать весь макрос вместе с диалоговыми окнами)
Парсинг, вопрос по теории
 
Добрый день!

В целях самообразования разбираюсь с кодом парсера таблиц эксель в текстовые файлы для других программ.
И никак не могу понять смысл такого массива "множитель" (или мультипликатор).

Вот, например, комментарии к массивам:

'массив значений
'количество осей
'количество значений
'множитель для данной оси - для нескольких осей в одном направлении

Массив значений - видимо, кубик самих данных.
Количество осей - оси данного кубика.
Количество значений - пока не понял, но что-то вразумительное.
А вот что делает множитель - не пойму. Подумал, что это, например, кодировка одних и тех же строк только разными кодами. Но нет, в исходнике кодировка одна.

Может, кто подскажет, где почитать теорию по формированию кубиков данных из плоских таблиц (средствами VBA).

Заранее спасибо!

p.s. может, вопрос для сведущих покажется совсем глупым, прошу простить, ибо образование совсем из другой области
Актуальный файл в папке, Функция на VBA
 
Добрый день, коллеги!

Существует потребность собирать данные из файлов Excel с ресурса.
Для этого нужно решить две задачи:
1 - зная начальную часть пути, найти среди вложенных папок последнюю созданную (название папки - дата в формате гггг.мм.дд)
2 - зная полный путь конечной папки получить название актуального (последнего по времени создания) файла.

Первую задачу с помощью "интернетов" решил вот так (странно, но извлекает именно последнюю созданную папку):
Код
Function Get_DirDate(path As String)
Dim a As String, D As String
D = Dir(path, vbDirectory)
While D <> ""
  If GetAttr(path & "\" & D) And vbDirectory Then
    a = D
  End If
  D = Dir
Wend
Get_DirDate = a
End Function
А теперь, собственно, мольба о помощи - можно ли как-то модифицировать верхний код так, чтобы он извлекал уже название самого последнего по времени файла?

Заранее большое спасибо!..
График (мост), необходима инструкция
 
Добрый день! Пора заглянуть и в эту часть форума  :)

Требуется специалист по построению диаграмм. Excel 2010!
Имеется подложка для построения диаграммы типа мост (водопад), которая вроде бы как универсальна (слава Небу, нашлась!), т.е. подстраивается под любые случаи - отрицательные/положительные входы/выходы, промежуточные переходы по оси.
Проблема в том, что не удается понять, как она работает и - самое главное - как на ее основе строить саму диаграмму.
От меня: файл с подложкой и готовым графиком, желание уложиться в 1 т.р., 1-2-3 дня, но сегодня до ночи было бы идеально.
От Вас: инструкция по построению диаграммы с нуля в excel 2010 (когда есть только таблица) (можно в формате видео с комментариями), и, если можно, кратенькое описание сути формул в таблице - нужно ли их менять в зависимости от ситуации или нет.
В общем, прошу обучить..   :oops: :)

p.s. если вдруг увидите знакомую ситуацию и знаете ссылку, где этот случай подробно описан - 0,5 т.р.
p.p.s. карта/яндекс
Цикл по отдельным листам, не по всем, но по избранным
 
 Добрый день!

Подскажите, пожалуйста, в какую сторону двигаться.. :sceptic:

Имеется потребность обрабатывать данные в книге не со всех листов, а только с отдельных.
Например, только с листов с названием месяцев - Янв, Фев и т.д. (при наличии других).

Способ "For Each Sheet In WorkSheets" явно не подходит.
Подозреваю, что можно сделать свою собственную коллекцию листов.
Вопрос:
Но как это сделать так, чтобы можно было объявить один раз в начале модуля, дабы использовать потом в отдельных процедурах?

Заранее благодарю!     :idea:
Нарезка книги на несколько книг по трем листам
 
Добрый день!

Люди добрые, прошу помощи... никак не могу найти ответ на вопрос. :(

Суть задачи:
Имеется файл с тремя листами, на которых однотипные таблицы, но с разными значениями в строках.
В первом столбце имеется список организаций, названия которых после и выступают названиями файлов.
Сейчас есть некий код, который делит только один лист, то есть формирует отдельные файлы по базовой книге, сохраняя шапочку, но удаляя все организации (строки) кроме одной. И так в цикле.
Вопрос: как порезать книгу не по одному листу, а сразу по трем? По тем же принципам - одна организация по всем трем листам и так каждый файл.

Заранее благодарю.

p.s. возможно, есть и способ проще того, что используется сейчас - с передачей переменных в другую процедуру, ибо он немного сложноват для меня. если это так, то буду благодарен, если кто-нибудь покажет, как это сделать. спасибо!

Код:
Код
Sub Резчик()
    Dim FolderPath As String
    FolderPath = Application.ActiveWorkbook.Path
    Dim currentWS As Worksheet
    Set currentWS = ActiveSheet
    Dim totalRows, startFrom As Integer
    totalRows = ActiveWorkbook.Worksheets(1).Cells(Rows.Count, 1).End(xlUp).row
    startFrom = 6
    For i = startFrom To totalRows
        CompileRow i, currentWS, FolderPath
    Next i
End Sub

Sub CompileRow(row, currentWS, FolderPath)
    Dim NewBook As Workbook
    Set NewBook = Workbooks.Add
    currentWS.Copy Before:=NewBook.Worksheets(1)
    Dim newWS As Worksheet
    Set newWS = NewBook.Worksheets(1)
    newWS.Activate
    Dim title As String
    title = Range("A" & row).Value
    ww = ActiveWorkbook.Worksheets(1).Cells(Rows.Count, 1).End(xlUp).row
    For t = ww To 6 Step -1
        If t <> row Then
            newWS.Cells(t, 1).EntireRow.Delete
        End If
    Next t
    With NewBook
        .title = title
        .SaveAs Filename:=FolderPath & "/" & "_" & title & ".xlsb", FileFormat:=50
        .Close
    End With
End Sub
Поиск границ интервала
 
Здравствуйте!

Помогите, пожалуйста, решить вопрос с помощью формулы (не макросом).

Необходимо найти номер строки первой и последней позиции в некотором списке.
Пробовал подход с "=строка(индекс(поискпоз))" - ошибается.

Пример прилагаю.

Спасибо!
Ошибка удаления дубликатов (макрос)
 
Здравствуйте...

Взываю к помощи. Никак не могу понять суть ошибки.  :(
В двух смежных столбцах нужно удалить одинаковые строки, то есть дубликаты.
Пишу простую команду:
Код
ThisWorkbook.Worksheets("26-Out").Range("$E$10:$F$13").RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes
и выпадает ошибка "Invalid procedure call or argument".
При этом на пустом листе без остальных строк кода все работает.
Пробовал:
Код
ThisWorkbook.Worksheets("26-Out").Range(ThisWorkbook.Worksheets("26-Out").Cells(11, 5), ThisWorkbook.Worksheets("26-Out").Cells(13, 6)).RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes
ActiveSheet.Range...
Ошибка прежняя. Менял название листов, диапазонов - безрезультатно.
Может, ошибка типовая, и есть какой-то "подводный камень"?

Заранее благодарю за подсказки.
Пропал флажок, Элементы управления форм
 
Здравствуйте!

Извиняюсь, если такой вопрос задавался, но при быстром поиске не нашел.
В общем, при использовании группировки строк флажки сместились, а точнее куда-то пропали вообще, кроме одного.
Как вернуть назад?

Такое чувство, что данная штучка с группировкой и не ладит..

Заранее спасибо.
Защита файла по дате
 
Добрый день.

Подскажите, пожалуйста, люди добрые и знающие, можно ли и как именно (если не затруднит) сделать так, чтобы после, к примеру, 1-го сентября 2016 года файл экселя (с макросами) начал запрашивать некий мастер-пароль, только введя который можно воспользоваться фалом, а при ошибке - принудительное закрытие экселя?
В общем, защитить хочу.  :sceptic:

На всякий случай - файл мой. Никому пакостничать не хочу. Защититься хочу. На будущее.
Спасибо за понимание..
Присвоить номер записи
 
Здравствуйте, друзья!

Помогите, пожалуйста, разобраться с событиями...
Вообще, задача стоит в том, чтобы присвоить порядковый номер записи в столбце С (сами номера в столбце А).
Для этого по идее нужно следить за изменениями целевого диапазона в С, а потом уже производить запись большего номера в соответствующую строку А.
Выбрал событие изменения на листе, но ругается на Target типа Range.
Вот код (возможно, где-то не хватает End If, так как дальше отработки события не продвигается):
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("С1:С10")) Is Nothing Then ' ищу изменения в столбце С, тут ругается
            Ans = MsgBox("Вы уверены, что хотите добавить запись?", vbYesNo, "Внимание!")
            If Ans = vbNo Then Exit Sub        
            For i = 1 To 10 ' ищу максимум в существующих номерах записей
                Nominal = 0
                If Cells(i, 1) > Nominal Then
                    Nominal = Nominal + 1
                End If
            Next i            
            If Cells(Target.Row, 1) = 0 Then ' записываю новый номер записи
                    Target = Nominal + 1
            End If    
    End If
End Sub
Также можно посмотреть пример.
Буду благодарен, если кто-нибудь подскажет ссылочку на описание работы с событиями с примерами... А то совсем чехарда в голове  :sceptic:
Изъятие данных из XML-файлов
 
Здравствуйте...

Поставили непрофильную задачку мне, сделать свод по данным из XML-файликов (много их).
Решил сделать макросом, нашел на форуме пример, но вот ругается код сразу же на втором прогоне в цикле на строчку:
Код
ThisWorkbook.XmlImport URL:=f, ImportMap:=Nothing, Overwrite:=True, Destination:=Range("$A$1")
Ошибка: "Невозможно выполнить операцию, поскольку ее результат будет прерывать существующее сопоставление XML" 1004

Не пойму, если файлы однотипные, что ему не нравится?  :(

p.s. а может, и вовсе можно обойтись без макросов?
Суммеслимн с условиями
 
Доброго утра/дня!

Люди добрые, подскажите, пожалуйста, как бы наложить на функцию суммеслимн условия извлечения? Подробный пример в приложении.
Макросы, к сожалению, использовать нельзя  :cry:

Благодарю за подсказку...

p.s. уточняющих критериев может быть от одного до 10-ти
Вставка текста в фигуру, автоматически
 
Доброго дня людям неравнодушным!

К большому сожалению, забыл, как сделать так, чтобы текст в фигуре был привязан к тексту в определенной ячейке (сделать кнопку с изменяемым названием).
Может, кто знает, как это можно воплотить без макросов?
Очень смутно помню, что когда-то видел такое. Но могу ошибаться. Найти нигде не удалось.  :(

Заранее спасибо :)
Изменено: AlexTM - 22.12.2015 09:26:20 ((дубликат вставился почему-то сам, извиняюсь))
О злых людях, сидящих на форуме., :)
 
Ну, точно говорят, на сытый послеобеденный желудок хорошего не родится... :)
Скрытый текст
Предложение о цвете конвертика, по работе форума
 
Интересно, а можно ли сделать так, чтобы автор вопроса мог ставить атрибут своей задаче?
1. Задача ожидает решения.
2. Задача решена, но ждет других предложений.
3. Задача решена.
И это привязать к пиктограммкам в списке тем, чтобы было видно...
По сути - изменить цвета конвертика.

Как-то так :)
Флажок-обманка: перестает работать макрос
 
Здравствуйте, добрые люди..

Помогите, пожалуйста, разобраться, почему не работает моя адаптация этого приема.
У меня два столбца, хочу ставить пометку на удаление или корректировку методом исключения. Для этого в код "первого клика" добавил условия по доп.столбцу:
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
        If Not Intersect(Target, Range("A1:B10")) Is Nothing Then
            Application.EnableEvents = False
                If Cells(Target.Row, 3) = 0 Then
                    Target.Font.Name = "Marlett"
                    Target = "a"
                    Application.EnableEvents = True
                End If
            Exit Sub
        End If
End Sub
То есть считаю число букв "а". Если их нет, то ставлю галочку.
По идее это должно было исключить возможность одновременного проставления галочки в двух столбцах.
Но по факту код перестает работать вообще, как только пытаюсь поставить вторую галочку в одной строке. Почему? :(

p.s. пытаюсь организовать блок пометок строк в таблице на удаление или корректировку методом "или".
Размышления о цвете ячеек..., социума
 
Если позволите, то выскажу свое мнение относительно одного наблюдения на данном форуме. Хотя оное есть, пожалуй, и на любом другом.
Часто встречается фраза типа "простите мне блондинистость", "помогите блондинке" и т.д. и т.п.
В этой фразе усматриваю два одновременных события:
1) желание лишний раз потешить свою манечку (чит. самолюбие).
2) отсутствие представлений о предыстории фразы.

Касаемо первого пункта.
Если мыслить о цвете "блондин/ка" в широком смысле, то блондинами, если мне память не изменяет, ранее считались в том числе и светло-русые люди (а может, и даже темно-). Да и сама фраза "свело-русый" родному уху передает какую-то родную вибрацию.
Полагаю, что люди, выказывающие свой цвет, злостные самолюбцы  :) Но это шуточное...

Со вторым пунктом сложнее.
Опять же таки, насколько мне известно, русый (светлый и очень светлый цвет волос, аля "блондины/ки") цвет был присущ даже божественной знати Древнего Египта, Китая и т.д. Назвать тех людей глупыми крайне трудно. Да, на нашей Родине ранее так же проживали люди со светлыми волосами. И сказать, что они были глупыми - вообще дикость.
Отсюда мне крайне не понятно, почему многие люди искренне убеждены в "тупости" блондинистых личностей?
В каких местах этому учат? Кто на этом зарабатывает?  :sceptic:

(Сам не имею отношение к носителям таких волос, по опыту - интеллект и другие качества личности у людей со светлыми волосами как минимум ничуть не хуже, чем у темных. Если, конечно, первые себя окончательно не убили мыслями о своей неполноценности.)

Вопрос: а какого мнения Вы? И нет, вопрос не об интеллекте. Вопрос о том, откуда растут ноги такого убеждения? Я вот проанализировал свою память и понял, что источник этой глупости во мне - реклама, кино и слова убежденных в этом людей. Считать это за основание "случайное" как-то сомнительно...

Было лень приступать к работе... :oops: :D
Библиотека 1CV82 COMConnector Tipe Library
 
Доброго дня!

Никак не могу в списке библиотек VBA обнаружить что-то типа 1CV82 COMConnector Tipe Library для подключения к 1С.
Подскажите, пожалуйста, как найти/установить данную библиотеку?

p/s/ пытаюсь облегчить себе труд и получать данные из 1С в Excel в автоматическим режиме. вроде бы для этих целей как раз и нужен этот замысловатый коннектор... :sceptic: но если мыслю в неверном направлении, прошу поправить :oops:
Скрытие столбцов при изменении ячеек
 
Доброго дня...
Помогите, пожалуйста, решить такую вот проблемку.
В примере в зависимости от значений в диапазоне J2:P2 нужно скрывать соответствующие столбцы (1 - видим, 0 - скрыт).
Но данные туда попадают формулой. Если бы значениями, то все работает вот так:
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, ThisWorkbook.Worksheets("Лист2").Range("J2:P2")) Then Exit Sub
For i = 10 To 16
    If ThisWorkbook.Worksheets("Лист2").Cells(2, i) <> 1 Then
        ThisWorkbook.Worksheets("Лист2").Columns(i).EntireColumn.Hidden = True
    Else
        ThisWorkbook.Worksheets("Лист2").Columns(i).EntireColumn.Hidden = False
    End If
Next i
End Sub
Но с формулами выпадает ошибка Object Variable or With block variable not set (ругается на проверку Target).
Как быть? :(
Отслеживание своих сообщений на форуме
 
Здравия...
Подскажите, каким образом на форуме можно отслеживать те темы, в которых я недавно писал что-либо?  :qstn:  (без уведомлений по e-mail)
Ибо иногда спросишь уточнение, а вопрошающего нет, ну и забывается потом зайти да проверить его ответ из-за работы. Нехорошо. :sceptic:
Изменено: AlexTM - 11.11.2015 12:40:29
ПОИСКПОЗ по столбцам с использованием СЦЕПИТЬ
 
Доброго утра, люди добрые!

В попытке очистить документ от лишних формул наткнулся на факт того, что для поиска совпадения в мини базе данных я использую добавочный столбец, где три строки с помощью СЦЕПИТЬ задают одну строку, которые и формируют столбец для поиска.
Вопрос: а можно ли избавиться от вспомогательного столбца?
Что-то типа:
=ИНДЕКС(G:G;ПОИСКПОЗ(СЦЕПИТЬ(B5;C5;D5);СЦЕПИТЬ(H:H;I:I;J:J);0)) - НЕ СРАБОТАЛО. Почему-то.. :sceptic:
вместо:
=ИНДЕКС(G:G;ПОИСКПОЗ(СЦЕПИТЬ(B5;C5;D5);L:L;0))
Пример прикреплен.

Спасибо!
Изменено: AlexTM - 29.10.2015 10:01:32
оформления дружественного для пользователя меню программки в Excel'е
 
Доброго времени суток...

Вопрос несколько странный будет. Прошу простить за неясность изложения.
Подскажите, пожалуйста, где можно подсмотреть примеры оформления дружественного для пользователя меню программки в Excel'е?
Допустим, имеется документ, в котором несколько вкладок, и имеется главная вкладка. где должно сосредоточиться все управление всеми встроенными макросами.
Как обычно делаются такие контрольные панели? Ибо просто две-пять кнопок не устраивают, хочется красоты и практичности...
Спасибо :)
Копирование изображения макросом
 
Доброго дня! (или другого времени суток)

К сожалению, в поиске не нашел простой пример того, как скопировать картинку с одного листа на другой..
Если правильно понимаю, то:
1) к картинке нужно как-то обратиться по имени;
2) скопировать ее;
3) вставить в нужное место с выбранным центрированием.
Каким образом это сделать? (макросом)

p.s.ищу способ быстрого обращения к объекту (изображению) и его копирования. заранее спасибо!
Копирование данных после фильтра, через SpecialCells(xlVisible)
 
Доброго здравия..

Подскажите, пожалуйста, в чем ошибка. В большом документе отфильтровал данные. Затем заношу их в массив вот так:
Код
vData = ActiveWorkbook.Worksheets(1).Range(ActiveWorkbook.Sheets(1).Cells(11, 1), ActiveWorkbook.Sheets(1).Cells(CountRows, 14)).SpecialCells(xlVisible).Value
, и когда вставляю в другой документ этот массив, то вижу, что он скопировал в себя не все строки.
А именно: допустим, в документе 50 000 строк. Фильтр убрал строки с 12 000 по 36 000. Так вот в массив почему попадают только первые 11 999 строк, а все после 36-ти тысячной - не попадают. Почему так? Ведь видимы и те, и другие. Не пойму...  :qstn:
Да, значение CountRows равно всем 50 000 строк. Но когда проверяю, сколько попало в массив через UBound(vData), вижу - 11 999.  :(

p.s. извиняюсь, но без примера, приложить бы рад, да нельзя... надеюсь, это вопрос чисто по теории vba
Страницы: 1 2 След.
Наверх