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

Страницы: 1
[ Закрыто] ODBCConnection
 
Цитата
ivanok_v2 написал:
что то не совсем понял проблему.
Вытягиваю из mysql сервера таблицу базы данных постредством ODBC. Записал макро рекордером действия по импорту.
При первом запуске - не работает.
Если сделаю импорт вручную, а потом запущу макрос (ранее записанный) - работает.

Нужно что бы он работал стабильно.
Изменено: exwmin - 07.10.2018 22:05:19
[ Закрыто] ODBCConnection
 
Приветствую, записал макросом действитя которые я делаю при подключения к базе. Но при выполнении макроса он не работает. Сразу ругается на первую строчку:
Код
    With ActiveWorkbook.Connections("base table").ODBCConnection
Цитата
Ошибка - runtime 9 subscript out of range

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

Сам записанный макрос:
Код
Sub Макрос8()
'
' Макрос8 Макрос
'
'
    With ActiveWorkbook.Connections("base table").ODBCConnection
        .BackgroundQuery = False
        .CommandText = Array("SELECT * FROM `base`.`table`")
        .CommandType = xlCmdSql
        .Connection = "ODBC;DSN=alocal;"
        .RefreshOnFileOpen = False
        .SavePassword = False
        .SourceConnectionFile = _
        "C:\Users\admin\Documents\Мои источники данных\base table.odc"
        .SourceDataFile = ""
        .ServerCredentialsMethod = xlCredentialsMethodIntegrated
        .AlwaysUseConnectionFile = False
    End With
    With ActiveWorkbook.Connections("base table")
        .Name = "base table"
        .Description = ""
    End With
    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:="ODBC;DSN=alocal;" _
        , Destination:=Range("$A$1")).QueryTable
'        .CommandType = 0
        .CommandText = Array("SELECT * FROM `base`.`table`")
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .SourceConnectionFile = _
        "C:\Users\admin\Documents\Мои источники данных\base table.odc"
'        .ListObject.DisplayName = "Таблица_time_table"
        .Refresh BackgroundQuery:=False
    End With
End Sub
Помогите решить.
Спасибо.
Как сделать дозапись в файле?
 
Андрей VG, спасибо!
Как сделать дозапись в файле?
 
Есть макрос которые записывает выделенные ячейки в файл.

Но он перезаписывает файл, как сделать до запись?
Код
Dim fsT As Object 
savеMe= "D:\1.txt"
Set fsT = CreateObject("ADODB.Stream")
fsT.Type = 2 'Specify stream type - we want To save text/string data.
fsT.Charset = "utf-8" 'Specify charset For the source text data.
fsT.Open 'Open the stream And write binary data To the object
For Each i In Selection
fsT.WriteText i & vbCrLf
Next
fsT.SaveToFile savеMe, 2 'Save binary data To disk 
Изменено: exwmin - 27.03.2016 12:17:33
После n-символов добавить знак
 
Спасибо перевел.

Код
=ЛЕВСИМВ(A1;3)& "%" &ПСТР(A1;4;ДЛСТР(A1)-3)
Изменено: exwmin - 20.10.2014 19:03:28
После n-символов добавить знак
 
Желательно слов, хотя можно и символов Формула - для английского екселя, функции? У меня текстом вставляется.
Спасибо.
После n-символов добавить знак
 
Форумчане вообщем не могу составить функцию которая бы после n-го количества символов, или слов, добавляла знак %
Копировать другой ячейки при условии если она начинается на
 
Но почему изменив значение в колонке D копируемое значение в ячейке E не меняется, ведь от значения в ячейке D должна зависить ячейка которая бдует копироваться, 2 - на 2 ячейки выше, 5 - на ячеей выше в столбце A и так дальше....
Массовая замена значений
 
К сожалению макрос работает не корректно, файл приложил, в первом варианте, просто удаляет значения, во-втором просто не заменяет. Спасибо заранее.
Копировать другой ячейки при условии если она начинается на
 
А нечего показывать, тот же файл только с вставленной формулой.
Вот пример ячейка E15 вставляет - "Скидка 10%", из ячейки A10, а должно из ячейки A 13 (т.е. перед этим стоит аргумент 2 - на ячейки выше)
Изменено: exwmin - 26.01.2014 17:09:43
Копировать другой ячейки при условии если она начинается на
 
Нет обьеденять не нужно, нужно просто скопировать содержимое ячейки A, в ячейку F, но только на указанное (в ячейке D) количество  ячеек выше

Выше формула ничего не выдает.
Изменено: exwmin - 26.01.2014 16:25:30
Массовая замена значений
 
KuklP спасбо, сработало как нужно. Единственное выводит ошибку type mismatch пробовал выставить одинаковый формат (числовой, текстовый) не помогло, может можно как-то обойти этот баг.


Цитата
Я предлагал менять не по одному.
Выделить диапазон, Найти/Заменить (Ctrl+F)
Несковсем понял как пользоваться данным способом, я выделил 2 столба  с содержимым (что на что нужно заменить), через CTRL пробовал сначала первую колонку потом вторую выделить,нажимаю Ctrl+F значение для замены пустое ничего не заменяет...
Изменено: exwmin - 26.01.2014 16:18:59
Копировать другой ячейки при условии если она начинается на
 
Вот подопытный, т.е. в столбце D есть значения (на сколько ячеек выше), нужно скопировать ячейку столбца A.
Массовая замена значений
 
Если честно, я так и не разобрался в работоспоности макроса, присылайте лучше файлы для проверки макроса, Еще раз спасибо
Массовая замена значений
 
К сожалению не подходит
Массовая замена значений
 
Заменить, подставить, впр, не подходит. А если значений будет 500? Важный момент в одной ячейке может быть замен 5, 10...
Изменено: exwmin - 26.01.2014 13:36:51
Массовая замена значений
 
Добрый день, нужен макрос для массовой замены значений. (я уже где-то видел данную тему, но сейчас найти не могу, помогите решить задачу)

К примеру, в столбце A у нас будет содержимое ячеек в которых нужно произвести замену(нескольких значений!), столбец B старый текст для замены,а столбец C новый текст для замены соответственно.
В принцыпе схема следующаяя, Макрос ищет значение из столбца B столбце A и заменяет значением из столбца C соответственно
Изменено: exwmin - 26.01.2014 13:25:18
Копировать другой ячейки при условии если она начинается на
 
Добрый день подскажите пожалуйста как можно сделать следующее... К пример если у нас ячейка начинается на "#2" то что бы в данную ячейку в начало вставлялось содержимое другой ячейки (на 2 ячейки выше столбца A)
К примеру
Есть ячейка с содержимым "#2 любой текст", а на 2 ячейки выше ячейка с содержимым "Краткие данные"
И что бы у нас получилось так
"Краткие данные любой текст"
То есть к примеру если ячейка начинается на "#2", то что бы копировалась ячейка которая на 2 ячейки выше. Если #3 то что бы дописывалось содержимоей ячейки которое на 3 ячейки выше....
Изменено: exwmin - 19.01.2014 18:48:18
Страницы: 1
Наверх