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

Страницы: 1
Экспорт иерархическое дерево стек вызовы из окна locals window vba на лист, Экспорт иерархическое дерево стек вызовы из окна locals window vba на лист
 
Добрый день.
Скажите, пожалуйста, можно ли экспортировать стек вызовы из окна locals window vba на лист Excel чтобы изучить взаимосвязи и иерархию свойств?
Например объявить переменную Excel.Workbooks, Worksheet, Range  получить на locals window vba значения и экспортировать на лист.
Просто в окне Locals трудно найти конкретный параметр/свойство. Нет возможности фильтровать или задать поиск.
Было бы здорово иметь иерархическое дерево  стек вызовов на листе, легко будет изучить и найти нужный...
Заранее спасибо!
Знания могут придать человеку вес, но только воспитанность может придать ему блеск
Импорт данных (формулы, значения) из закрытой книги, где данные сохранены на скрытом листе и установлен автофильтр
 
Добрый день.
Помогите, пожалуйста, организовать импорт данных.

Необходимо импортировать данные (формулы, значения) из закрытой книги (из Excel > в Excel), где данные сохранены на скрытом листе и установлен автофильтр.
Проблема в том, что, когда файл сохранен с установленным/поставленным фильтром данные импортируются не корректные.

Я попытался через VBA снять фильтр, но сам макрос в рабочем документе не хочет работать (WS.Select - ЗДЕСЬ возникает ОШИБКА), а вот в новом созданном документе Excel работает отлично.
Рабочий Excel документ с макросами (всего 8 листов) при закрытии файла скрываются все листы кроме 6 «Безопасность макросов» (три из них скрыты постоянно – «Лист1»; «Лист2»; «Лист8»). При запуске (открытие) отображаются 4-и листа: «Лист3»; «Лист4»; «Лист5»; «Лист6» (скрывается 6-ой + три из них скрыты постоянно – «Лист1»; «Лист2»; «Лист8»)
Можно ли импортировать данные через VBA так, чтобы установленный автофильтр и скрытие листы не создавали помеху?
Код
Public Sub CleanFilterExcel()
    Dim xl As Excel.Application
    Dim WB As Excel.Workbook
    Dim WS As Excel.Worksheet
    Dim ControlFile As String
       ControlFile = ActiveWorkbook.Name
           stNamePath = "E:\Users\ASS\Desktop\"
           stNameFile = "Калькулятор.xlsb"
     Set xl = CreateObject("Excel.Application")
         xl.Visible = False
     Set WB = Excel.Workbooks.Open(stNamePath & stNameFile)
     Set WS = WB.Worksheets("Расчет")
         Windows(stNameFile).Activate
           'WS.Visible = xlSheetVisible 'При запуске файла, макрос (Workbook_Open) отображает скрытые листы в т.ч. лист "Расчет"
         WS.Select 'ЗДЕСЬ возникает ОШИБКА
      If WS.FilterMode Then WS.ShowAllData 'Если установлен фильтр очищаем
      WB.Close saveChanges:=True  'закрыть рабочую книгу с сохранением изменений
       Set xl = Nothing
       Set WB = Nothing
       Set WS = Nothing
      Windows(ControlFile).Activate
End Sub

Когда запускаю макрос CleanFilterExcel через рабочий документ не срабатывает Private Sub Workbook_Open() чтобы отображать листы: «Лист3»; «Лист4»; «Лист5»; «Лист6». Сам документ защищен (Защита листа и книги). «Лист3» = «Расчет».
Знания могут придать человеку вес, но только воспитанность может придать ему блеск
Инспектор\Надстройка совместимости кода Microsoft Office (VBA 4/5/6/7 + 32 и 64 разрядная VBA), Microsoft Office Code Compatibility Inspector user's guide
 
Здравствуйте уважаемые, форумчане!
Можете подсказать насколько полезна надстройка "Inspector VBA Code" в приложение Microsoft Excel и пользуетесь ли вы?

Ссылка:
https://docs.microsoft.com/en-us/previous-versions/office/office-2010/ee833946(v=office.14)?redirectedfrom=MSDN

Скачать:
https://www.microsoft.com/en-us/download/details.aspx?id=15001

Про инспектора:
Инспектор совместимости кода Microsoft Office помогает устранять проблемы совместимости в макросах и надстройках Microsoft Visual Basic для приложений (VBA).
Используйте инспектор совместимости кода Microsoft Office, чтобы проверить код VBA, созданный в предыдущих версиях Microsoft Office, и помочь вам сделать любые вызовы интерфейса прикладного программирования Windows (API) в вашем коде, совместимые с 64-разрядной версией Microsoft Office 2010.
Инспектор совместимости кода Microsoft Office для предназначен для того, чтобы помочь предприятию или малому бизнесу обновить код Visual Basic для приложений (VBA) и инструменты Visual Studio Tools for Office, чтобы он был совместим с Office 2010. Инспектор не исправляет код; он проверяет код, а затем комментирует конкретные строки кода, которые ссылаются на элементы в объектной модели, которые были изменены или устарели. (В VBA код, инструмент также комментарии Объявить заявления для 64-разрядной совместимости.) Вы можете изменить код на основе комментариев, или использовать ссылки, приведенные в комментариях для просмотра темы в Интернете , которые имеют отношение к конкретная строка вашего кода.
К основным функциям инспектора совместимости кода Office относятся следующие:
  • Он состоит из четырех надстроек, которые загружаются, по одной надстройке на приложение, в Excel 2010, PowerPoint 2010, Word 2010 и Visual Studio 2008.
  • Он работает для каждого пользователя или документа. Для VBA пользователи открывают документ и запускают инструмент на вкладке Разработчик . Для проектов Visual Studio разработчик запускает инструмент из меню « Инструменты» .
  • Она сканирует проекты в текущем документе или Visual Studio Solution с помощью простого текстового поиска, ищет parentObject.Propertyкомбинации, и сканирует Объявить заявления для 64-битной совместимости (в VBA).
  • Он добавляет комментарии в коде, где он находит другие потенциальные проблемы.
  • Он отображает резюме и подробный отчет о своих выводах после завершения проверки.
Дополнительные ресурсы:
Знания могут придать человеку вес, но только воспитанность может придать ему блеск
Как скрыть меню "Файл" (или вкладка "Сведения" в меню "Файл", или команда "Разрешения" в меню "Файл" во вкладке "Сведения")
 
-
Изменено: ASS9 - 07.09.2019 01:06:54
Знания могут придать человеку вес, но только воспитанность может придать ему блеск
Фильтр данных в массиве с построением столбцов в «ComboBox» и «ListBox»
 
Добрый день.

Помогите, пожалуйста, изменить функцию «FilterArray», которая выполнят фильтрация данных в массиве по маске Like.
В форме есть «ComboBox1» и «ListBox1». При входе «ComboBox1» заполняться массив данных в «ComboBox1» и «ListBox1» (4 столбца из листа Excel).
Но при фильтрации данных в массиве через  Function «FilterArray» остаются только ДВА СТОЛБЦА, и не возможно после выбора в «ComboBox1» или «ListBox1»  получить данные из 3-ого и 4-ого столбца методом:    
Код
        Me.TextBox5.Value = ComboBox1.List(ComboBox1.ListIndex, 2)
        Me.TextBox5.Value = ComboBox1.List(ComboBox1.ListIndex, 3)

Заранее спаибо!
Знания могут придать человеку вес, но только воспитанность может придать ему блеск
Страницы: 1
Наверх