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

Страницы: 1
Аналог БД
 
Доброго дня.
Есть тьма Excel-евских файлов.
Информацию из них нужно помещать в некое хранилище и потом из этого хранилища получать данные.
Желательно, что бы хранилище "дружило" с Excel, и поддерживало SQL.
Может кто-нибудь знает какое-нибудь ПО, подобное базе данных, удовлетворяющее этим требованиям?
Пробовал БД Oracle, но она сама по себе тяжеловата, да наверное и слишком шикарная для моих нужд.
Нужно что-то по-проще.
Спасибо
Не отображается (слетает) вкладка PIVOT
 
Включаю надстройку PIVOT - появляется вкладка PIVOT. После перезапуска Excel вкладка исчезает. Лечится отключением и включением надстройки. Но это не выход, каждый раз...
Кто знает, где протереть или где подкрутить?

OS Win 10 x64
Office 2016 x86

Спасибо.
Записать в ячейку формулу массива через VBA
 
Как записать в ячейку формулу массива через VBA?
Или какой функцией можно избавиться от "формулы массива" в данном случае?
Код
ActiveCell.FormulaArray = "=ВПР(МАКС(ЕСЛИ(AAA!$A$4:$A$150<'RRR'!P8;AAA!$A$4:$A$150));AAA!$A$4:$B$150;2;0)"
Не работает копирование Таблицы в новую книгу
 
Доброго дня...
Создается новая книга (Book) и в нее по условию необходимо скопировать умную таблицу из текущей книги (wb1) . Книга создается, лист вставляется и переименовывается. Ошибка появляется на строке копирования умной таблицы. Не вижу что тут нужно подправить, вроде бы все честно.
Спасибо.
Код
Sub aaa()
Dim app As Excel.Application
Dim Book As Excel.Workbook
Dim wb1 As Workbook, sh1 As Worksheet

Set app = CreateObject("Excel.Application")
Set Book = app.Workbooks.Add
Set wb1 = Workbooks(ThisWorkbook.Name)

FF = "111"
For Each sh1 In wb1.Worksheets
    if .... Then
        if ... Then
            Book.Worksheets.Add after:=Book.Worksheets(Book.Worksheets.Count)
            Book.Worksheets(Book.Worksheets.Count).Name = sh1.Name
            sh1.ListObjects(1).Range.Copy _
            Book.Worksheets(Book.Worksheets.Count).Range("A1")
        End If
    End If
Next sh1

Book.SaveAs Filename:=FF, FileFormat:=xlExcel8
Book.Close

End Sub
Разрешить изменение только области Умной таблицы
 
Как можно защитить лист, что бы пользователь мог только:
1. нажимать кнопки на листе;
2. заполнять "умную" таблицу
    Изначально в таблице будет одна строка, но в ходе заполнения их может стать больше.

Спасибо
Определение нажатой кнопки
 
Доброго дня...

На листе две кнопки (без макросов).
Как в VBA определить, какая кнопка нажата?

Спасибо.
Заполнить ComboBox именами листов за исключением одного имени
 
Пытаюсь заполнить массив именами Листов, не равных Лист1
Все работает, но когда содержимое массива показывается в combobox, то в списке есть пустая строка.
Полагаю, что если бы условий было больше, то и пустых строк тоже было бы больше.
Что и где тут можно подкрутить?
Код
Private Sub ComboBox1_DropButtonClick()
Dim wb As Workbook, s, i
Dim arr()

Set wb = Workbooks(ThisWorkbook.Name)
s = wb.Worksheets.Count

ReDim arr(1 To s)
For i = 1 To s
If wb.Worksheets(i).Name <> "Лист1" Then
arr(i) = wb.Worksheets(i).Name
End If
Next i

ComboBox1.List = arr

End Sub

Спасибо
При выборе значения в Combobox1 раскрыть список в Combobox2, DropDown в Combobox
 
Как в VBA при выборе значения в Combobox1
раскрыть список в Combobox2.
Чего то у меня не хочет работать DropDown между Combobox-ами (на событие Клик)
Спасибо
Изменено: govorun - 03.04.2018 19:34:37
Определить номер строки в DataBodyRange
 
Умная таблица.
Фильтр.
После фильтра остается одна строка (видимая).
Как в VBA определить номер видимой строки в DataBodyRange?
Не номер строки Листа, а номер строки DataBodyRange.
Спасибо
Изменено: govorun - 02.04.2018 21:33:27
Список столбцов "умной" таблицы в combobox
 
Доброго дня...
Есть необходимость показать в combobox список столбцов "умной" таблицы. Причем не просто показать, а дать возможность совершать какие-либо действия с выбранным столбцом. Думаю для этого нужно присвоить переменной значение выбранного столбца.
Осталось понять, как это все сделать в VBA?
DTPicker - развернуть при получении фокуса
 
На Форме поставил DTPicker.
Как его развернуть на событие "получение фокуса" и передать фокус на событие "выбор даты"?

Или есть что-то подобное с календарем для выбора нужной даты?

Спасибо.
Убрать кнопку закрытия формы
 
Доброго дня...

Создал форму. Но крайне мешает кнопка закрытия формы.
Подскажите код VBA, как убрать кнопку закрытия формы (крестик в правом верхнем углу формы).

Спасибо
Определить номер строки
 
Доброго дня...
На кнопке прописан фильтр данных.
Как проверить на то, что имеется строка, удовлетворяющая фильтру,
и узнать номер этой строки (в данном случае это 11)?
Код
if строка существует Then
msgbox номер строки
Else
msgbox строки нет
end if

Спасибо
Аналогичный вопрос размещен на http://www.cyberforum.ru/ms-excel/
Изменено: govorun - 26.02.2018 19:32:06
Расположение Формы в книге
 
Можно ли привязать Форму к Листу?
Например, что бы Форма была видна только, если активный Лист1 в текущей книге
(столкнулся с ситуацией, когда при запуске второй книги на экране висит форма из первой книги).
При активизации Лист2 - форма скрывалась (не закрывалась, чтоб не потерять введенные на ней данные).

Спасибо
Поиск значения в поле по условию
 
Как в VBA осуществить поиск значения в поле ААА (значения уникальные), при условии, что
BBB = пылесос
CCC = белый
DDD = 400
EEE = 07.04.2017

и если такое значение найдется то DDD = DDD * 2

Спасибо
удаление строк с неактивного листа
 
1. Ниже приведенным кодом пытаюсь получить данные из другого файла (не открывая его, кол. строк не известно, но меньше 1000) на Лист1.
2. Из полученного результата удаляю лишние строки
3. Кнопка с кодом расположена на Листе2
Код
Sub Кнопка2_Щелчок()

    Dim sPath As String, sFile As String, sShName As String
    sPath = "XXX" '"
    sFile = "YYY.xls" '"
    sShName = "Таблица1" '"
    Application.DisplayAlerts = 0
       
    With Sheets("Лист1").Range("A1:O1000")
        .Formula = "='" & sPath & "[" & sFile & "]" & sShName & "'!" & "A1" '"
        .Value = .Value
    
    
    For Each i In Range(Cells(1, 2), Cells(1000, 2))
    If i.Value = 333 Then k = k + 1
    Next i

    L = k + 2
    Rows("" & L & ":1000").Select
    Selection.Delete Shift:=xlUp
    Application.DisplayAlerts = 1
    End With
    
   
End Sub

Собственно проблемы:
1. выделение и удаление строк происходит с Листа2 (активного), а нужно с Листа1.
2. Может как-то можно перед тем как загружать данные, подсчитать количество НЕ ПУСТЫХ строк в закрытом файле

Спасибо
Microsoft Query: чем (как) заменить строку подключения к xls-файлу?
 
При подключении к xls-файлу с помощью Microsoft Query
строка подключения выглядит вот так:

DSN=Excel Files;DBQ=D:\111\XXX.xlsx;DefaultDir=D:\111;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;

Файл-источник и файл-приемник будут находиться в одной папке, но не известно в какой.
Можно ли заменить чем нибудь "D:\111", как например в VBA "ThisWorkbook.Path"
Проверка окончания вставки данных
 
Вставляю в виде диапазона данные из другого файла
Код
 With Worksheets("Лист3").QueryTables.Add(Connection:=XXX, Destination:=Worksheets("Лист3").Range("A1"))
 .CommandText = SQL
.Name = "YYY"
.Refresh BackgroundQuery:=False
End With

Как проверить, что вставка данных завершена?
Код
With Worksheets("Лист3").QueryTables.Add
E55:
If Worksheets("Лист3").QueryTables.Adding Then
GoTo E55
Else
MsgBox "11111"
End If
End With
 
Вставка данных на неактивный лист
 
Код
With Worksheets("Лист5").QueryTables.Add(Connection:=..., Destination:=Range("A1"))
      .CommandText = "select...."
        .Name = "ХХХХ"
        .Refresh BackgroundQuery:=False
    End With

Код предполагает вставку данных на Лист5.

Пробую на работе - ругается, если при запуске макроса курсор не стоит на Лист5.
Пробую дома - работает независимо от местонахождения курсора.
В чем может быть беда?

Спасибо
Обновление QueryTable
 
С помощью Microsoft Query создал несколько таблиц на разных листах.
На Лист9 разместил кнопку, при нажатии на которую происходит обновление
всех таблиц на всех листах
Код
ActiveWorkbook.RefreshAll
Появилась задача обновить только таблицу на Лист1, при этом находясь на Лист9
Попробовал код
Код
ActiveWorkbook.Sheets("Лист1").ListObject.QueryTable.Refresh BackgroundQuery:=False
не работает.

Буду благодарен за помощь.
Спасибо
Подстановка значения при совпадении значений в двух столбцах
 
Не могу сообразить, как написать условие.... На словах это выглядит так:
Если (Лист1.DDD или Лист1.FFF) равны (Лист2.Поле3 или Лист2.Поле4) тогда Лист3.X1 = Лист2.Поле1, соответствующее (Лист2.Поле3 или Лист2.Поле4)
Если (Лист1.DDD или Лист1.FFF) равны (Лист2.Поле3 или Лист2.Поле4) тогда Лист3.X2 = Лист2.Поле2, соответствующее (Лист2.Поле3 или Лист2.Поле4)

Должно получиться как на Листе4

Спасибо
Изменено: govorun - 07.10.2017 11:17:30
Копирование с суммированием по условию
 
Доброго дня...

Подскажите, как содержимое Таблицы1 скопировать на Лист2
с группировкой по Дате, Код1, Код2 и суммируя Сумма1, Сумма2?

Должно получиться как на Листе3.
Спасибо
VBA - установить курсор в первую строку под заголовком первого столбца умной таблицы, Установление курсора в нужную (неизвестную) ячейку
 
На листе создана "умная" таблица "План". Ее адрес (например B2:M16) неизвестен.
В первой строке таблицы - заголовок столбцов.
Вопрос:
Как в VBA установить курсор в первую строку под заголовком первого столбца таблицы. Изначальное расположение (адрес) курсора неизвестен.
VBA для Excel
 
Возникла необходимость "научиться" работе в Excel + VBA.
Если с Excel еще что-то понятно, то с VBA - темнота...
Где можно почитать в доступной для новичка форме про команды и синтаксис VBA?
Как обращаться к ячейкам, копировать вставлять удалять.... и всякое другое с помощью VBA.
Не отображается имя таблицы
 
Не отображается наглядное имя таблицы поверх таблицы, как вот тут http://www.planetaexcel.ru/techniques/11/1233/
Как это дело настроить?
Страницы: 1
Наверх