Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
Подключение к MySQL из VBA
 
Проблема решилась, большое спасибо!
Если кому пригодится, вот рабочий код:
Код
Sub Подключение()

Dim cnnConnect As ADODB.Connection
Dim rstRecordset As ADODB.Recordset

Application.ScreenUpdating = False
Application.EnableEvents = False
Set cnnConnect = New ADODB.Connection
Set rstRecordset = New ADODB.Recordset
cnnConnect.Open "DRIVER={MySQL ODBC 8.0 Unicode Driver};SERVER=localhost;DATABASE=my_db;UID=user_test;PASSWORD=123456;PORT:3306;"
rstRecordset.Open Source:="SELECT * FROM my_table", ActiveConnection:=cnnConnect, CursorType:=adOpenDynamic, LockType:=adLockReadOnly, Options:=adCmdText
With Sheets(1).QueryTables.Add( _
        Connection:=rstRecordset, _
        Destination:=Sheets(1).Range("A1"))
        .Name = "Test_request"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = True
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .Refresh BackgroundQuery:=False
End With
rstRecordset.Close
cnnConnect.Close
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Подключение к MySQL из VBA
 
Добрый день!

Столкнулся с той же проблемой, только ошибка другая:


Код выглядит вот таким образом
Код
Dim conn As Object
Set conn = New ADODB.Connection
conn.ConnectionString = "DRIVER={MySQL ODBC 8.0 ANSI Driver};SERVER=localhost;PORT:3307;DATABASE=my_db;UID=user_test;Pwd=12345;Option=3;"
conn.Open
Пишет что доступ пользователю запрещён, хотя в настройках самой БД пользователю user_test доступ предоставлен.
Разрядность системы, офиса и драйвера совпадает. Необходимая библиотека подключена.

Помогите пожалуйста разобраться.
Изменено: Ametist69 - 28 Июн 2019 11:26:53
Фильтры сводной таблицы VBA, Фильтры сводной таблицы VBA
 
Андрей спасибо, а можете подсказать как правильно написать для очистки этих фильтров?

PivotTable(1).RowFields.Clear не подходит.

Гугл пока че-то тоже не подсказывает((
Изменено: Ametist69 - 31 Май 2019 13:29:29
Фильтры сводной таблицы VBA, Фильтры сводной таблицы VBA
 
Всем добрый день!
Подскажите пожалуйста, при работе со сводными таблицами через VBA можно ли как либо разделить фильтры из полей строк и столбцов, и общий фильтр сводной таблицы?
То есть есть код:
Код
Sub Pivot()

ThisWorkbook.RefreshAll
Dim ws As Excel.Worksheet
Dim pvt As Excel.PivotTable
Dim pvi As PivotItem

For Each ws In ActiveWorkbook.Worksheets
    For Each pvt In ws.PivotTables
        pvt.ClearAllFilters
        For Each pvf In pvt.PivotFields
        On Error Resume Next
        pvf.PivotItems("(blank)").Visible = False
        pvf.PivotItems("").Visible = False
        Next pvf
    Next pvt
Next ws

End Sub
В данном коде строкой pvt.ClearAllFilters я очищаю все фильтры, а хотелось бы очищать только фильтры столбцов и строк.
Более понятно думаю на картинке (во вложении)
Изменено: Ametist69 - 31 Май 2019 13:11:37
Не удается скопировать лист, Не удается скопировать лист
 
Добрый день!
Вы можете приложить сам файл, в котором возникает ошибка?
если дата приходится на выходной день, то отображается первый рабочий день.
 
Я бы сделал так:
Код
=ЕСЛИ(ДЕНЬНЕД(ДАТА(ГОД(A2);МЕСЯЦ(A2)+1;5))=7;ДАТА(ГОД(A2);МЕСЯЦ(A2)+1;7);ЕСЛИ(ДЕНЬНЕД(ДАТА(ГОД(A2);МЕСЯЦ(A2)+1;5))=1;ДАТА(ГОД(A2);МЕСЯЦ(A2)+1;6);ДАТА(ГОД(A2);МЕСЯЦ(A2)+1;5)))
Изменено: Ametist69 - 26 Апр 2019 15:55:02
Автонумерация первой строки через созданную форму
 
Можете файл пример приложить?
Укладка длинного столбца с данными в таблицу, состоящую из 21 строки.
 
А обязательно связать с ней?
Если обязательно пропишите ещё одну переменную, которая будет вытаскивать номер ячейки.

Просто вы сюда обращаетесь только за готовым решением? Или готовы сами подумать?
Укладка длинного столбца с данными в таблицу, состоящую из 21 строки.
 
Приложил файл с макросом.
На всякий случай код:
Код
Sub test()

NameBook = ActiveWorkbook.Name
NameSheet = ActiveSheet.Name
LastCells = Workbooks(NameBook).Worksheets(NameSheet).Cells(Rows.Count, 6).End(xlUp).Row
y = 17

For x = 7 To LastCells Step 21
    Range(Cells(x, 6), Cells(x + 20, 6)).Copy
    Worksheets(NameSheet).Cells(5, y).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    y = y + 1
Next
    
End Sub
При открытии файлов Excel с графиками и диаграммами возникает ошибка, При открытии файлов Excel с графиками и диаграммами возникает ошибка
 
Все последние обновления стоят. Самое странное что у коллег все те же обновы стоят. Но у них проблемы нет.
При открытии файлов Excel с графиками и диаграммами возникает ошибка, При открытии файлов Excel с графиками и диаграммами возникает ошибка
 
Цитата
Valo написал:
Чтобы исправить, я откатывал обновления и потом наотрез от них отказывался,
Спасибо за ответ! А какой-то другой способ решения не нашли?
При открытии файлов Excel с графиками и диаграммами возникает ошибка, При открытии файлов Excel с графиками и диаграммами возникает ошибка
 
Добрый день!
Можете подсказать, может кто-то сталкивался, при открытии любого файла Excel содержащего визуальные элементы (графики, диаграммы) возникает ошибка:
"Ошибка в части содержимого в книге *****. Выполнить попытку восстановления? Если вы доверяете источнику, из которого получена книга, нажмите кнопку "Да""
Скрины ошибки во вложении. Если нажать "Да", то из файла пропадают все графики и диаграммы.
У коллег этот же файл открывается нормально. Установлен Office 2016, переустанавливать пакет Office пробовал, на время решилась проблема, потом опять появилась.
Отобрать связанные значения из массива
 
Вот через сводную таблицу.
Это не то что нужно?
Изменено: Ametist69 - 12 Апр 2019 12:30:13
Отобрать связанные значения из массива
 
Что именно надо ВПРить или копипастить?
Отобрать связанные значения из массива
 
veenny, А чем сводная таблица не подходит для подобных манипуляций?
Копирование диапазона ячеек, в отдельную книгу, в сетевой папке.
 
Поиск первой пустой ячейки в столбце:
Код
LastCell = Workbooks(NameBook).Worksheets(NameSheet).Cells(Rows.Count, 1).End(xlUp).Row + 1
Найти дату (значение) в столбце из ячейки методом Find, Поиск значения из ячейки по столбцу
 
Все работает.
Найти дату (значение) в столбце из ячейки методом Find, Поиск значения из ячейки по столбцу
 
Цитата
Andrey Ka написал:
Во всех трёх вариантах выдаёт ошибку:
Прикрепите файл для примера. У меня все 3 варианта работают.
Найти дату (значение) в столбце из ячейки методом Find, Поиск значения из ячейки по столбцу
 
Код
Columns(3).Find(What:=(Range("A1").Value)).Activate
Проставить значения из одной таблицы в другую в соответствующие столбцы.
 
У вас в столбце А на листе "таблица 2" всегда будут значения? пустоты не будет?
Или же может быть такое что в A будет стоять пустота, а какие-то заполнены?

Если все столбцы абсолютно динамичные, то непонятно по какому признаку определять, в какую строку ставить данные.
Изменено: Ametist69 - 11 Апр 2019 17:19:57
Разархиватор нескольких выбранных zip файлов в папку., Выбрать сразу несколько zip и все разархивировать в папку.
 
Мне кажется проще такие действия (типо разорхивации файлов) через BAT-файл делать
Установка и снятие защиты листа по условию. VBA
 
Вот так получается:
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   
If Intersect(Target, Range("C4:D4")) Is Nothing Then
   Worksheets(1).Unprotect Password:="1"
End If

If Not Intersect(Target, Range("C4:D4")) Is Nothing Then
   Worksheets(1).Protect Password:="1", UserInterfaceOnly:=True, _
   AllowFormattingCells:=True, AllowFormattingColumns:=True, _
   AllowFormattingRows:=True, AllowFiltering:=True
End If

End Sub
Вставка данных в первую пустую ячейку 2-й строки
 
Цитата
shooreek написал:
Добавил строку, но вставляет данные все равно в активную ячейку, а не справа от последней занятой ячейки второй строки.
Selection то замените. Selection - это активный диапазон, а по коду вы в него и вставляете.
За место строки:
Код
Sheets("Cone Width").Select
      
ColumnsCount = Workbooks("FRM").Worksheets("Cone Width").Cells(2, Columns.Count).End(xlToLeft).Column + 1
    
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

поставьте

Код
Sheets("Cone Width").Select      

ColumnsCount = Workbooks("FRM").Worksheets("Cone Width").Cells(2, Columns.Count).End(xlToLeft).Column + 1
    
Worksheets("FRM").Cells(2, ColumnsCount).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Вставка данных в первую пустую ячейку 2-й строки
 
Вопрос был в том что вы растить массив будете вправо???

Если так, то поиск первой пустой ячейки в строке:
Код
ColumnsCount = Workbooks(NameBook).Worksheets(Sheet).Cells(1, Columns.Count).End(xlToLeft).Column + 1
Первой пустой ячейки по столбцу:
Код
RowsCount = Workbooks(NameBook).Worksheets(Sheet).Cells(Rows.Count, 2).End(xlUp).Row + 1
копирование предыдущей строки в текущую по даблклику VBA
 
Добрый день!
На сколько я знаю привязать макрос к даблклику нельзя. Нужен либо элемент управления, либо комбинация клавиш.

Если ошибаюсь может кто поправит.
Как свести РАЗНЫЕ данные из таблиц в одну?
 
Добрый день!
А вы когда запрос выполняете уберите лишние столбцы, но перед этим необходимо проверить, чтобы формат столбцов для связки был одинаковый.
Вставка данных в первую пустую ячейку 2-й строки
 
Добрый день!
Цитата
shooreek написал:
чтобы первая ячейка этих данных была в первой непустой ячейке строки 2.
Вы уверены что именно первой непустой ячейке в строке? Т.е. данные у вас будут каждый раз ложиться правее предыдущих?
суммирование строк при совпадении данных
 
Поправьте формулу, удалите одно условие ЕСЛИ. Просто проверку делал в том числе по должности.
То есть за место
Код
=ЕСЛИ($A6=$A7;ЕСЛИ($B6=$B7;ЕСЛИ($C6=$C7;ЕСЛИ($D6=$D7;E6+E7;E6);E6);E6);E6) 
сделайте это
Код
=ЕСЛИ($A6=$A7;ЕСЛИ($B6=$B7;ЕСЛИ($C6=$C7;E6+E7;E6);E6);E6)


Приложил файл без условия по должности.
Работа с текстом, выделенном в ячейке
 
Можно использовать для определения переменной x = InputBox("Введите текст для поиска", Title)
суммирование строк при совпадении данных
 
Добрый день!

Проще всего формулами вытащить нужные данные. Можно конечно макросом.
Прикладываю решение задачи формулами.
Страницы: 1 2 След.
Наверх