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

Страницы: 1 2 След.
подключение и запрос из VBA в MySQL
 
Добрый день!

Есть необходимость получить данные из базы данных MySQL внутри VPN сети.
Покопавшись в инете написал скрип, но он не подключается к базе -выдает ошибку:
"Сервер не существует или доступ запрещен"

Поднял локальную копия сервера - ошибка та же...

Кто знает, подскажите, пожалуйста - в скрипте ошибки нет?

вот код:
Код
Sub Get_data()

    Dim cn As ADODB.connection
    Dim rs As ADODB.Recordset
 

    Const sql As String = "Provider=SQLOLEDB.1;Password=***;Persist SecurityInfo=True;" & _
    "User ID=***;Initial Catalog=project;Data Source=127.0.0.1"
    Const sSql As String = "SELECT name FROM `customers`"
    
    
    Set cn = CreateObject("ADODB.Connection")
    cn.Open sql
    Set rs = cn.Execute(sSql, 3, 1)
    Rez = rs.GetRows
    rs.Close
    cn.Close
    Set cn = Nothing: Set rs = Nothing
    MsgBox Rez
End Sub
О чем ошибка: Expression too complex (Err 16)
 
Доброго всем дня!

Столкнулся с ошибкой №16 "Expression too complex".
Прочитал хелп и описания Майкрософт, но всеравно не могу понять почему вылазит данная ошибка??

Пожалуйста, поскажите кто знает

Заранее спасибо!!
Событие програмного изменения ячейки
 
Доброго дня всем!

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

К примеру ячейка А1 связана с комбобоксом и изменяется значение в комбобоксе, данные в А1 тоже изменятся.
Какое событие может быть при этом,

   так как событие   ComboBox5_Chenge() не подходит,
 а событие Worksheet_Change(ByVal Target As range) работает только при изменении пользователем

зранее спасибо
ComboBox выбор значений из списка соответствующих вводу
 
Доброго дня все.

Эта тема наверняка уже избита, но просидев пол дня в поиске до конца так и не разобрался, прошу не ругаться.

На листе есть диапазон со списком ("С72:С374"), который подключен списком к КомбоБоксу на этом же листе.
Нужно чтоб при вводе в комбобокс в список подтягивались только те значения в которых есть совпадения с набором

Пробую так:
Код
Private Sub ComboBox2_Change()
 Dim sStr() As String, i As Long, li As Long
   For i = 72 To 374
      If LCase(Cells(i, "C")) Like "*" & LCase(ComboBox2) & "*" Then
         ReDim Preserve sStr(li): sStr(li) = Cells(i, "C"): li = li + 1
      End If
   Next
If li = 0 Then Exit Sub
ComboBox2.List = sStr
End Sub 
но что-то не идет.
Подскажите, пожалуйста, что?
Как обработать ошибку ВПР, если она есть?
 
Доброго дня.

Столкнулся с такой задачей:
 Есть функция листа ВПР и она может находить совпадение в базе(диапазоне), а может и нет
 Как сделать что-то типа:
Код
 ЕСЛИ(ВПР(А1;Диапазон-1;3)="#Н/Д";ВПР(А5;Диапазон-2;3);ВПР(А1;Диапазон-1;3))


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

P.S. Excel 2003
Сортировка таблицы через AutoFilter макросом
 
Добрый день!

Задача у меня вроде бы простая - отсортировать таблицу кодом через автофильтр по одному единственному полю(Field:=3)
В этом поле содержаться значения дат.
Когда я сортирую в ручную(мышкой) - все выводится как надо
Когда кодом - выводятся не все ячейки, при этом если кодом выписывать в массив значение нужных мне ячеек, то все Ок.

Перечитал уже кучу форумов по этой теме, но всетки что-то упустил, пожалуйста, подскажите что
Вот мой код:
Код
Sub 111()

    Dim D1 As Date
    Dim D2 As Date

    Zap = 1
    D2 = Format(Workbooks(StartBook).ActiveSheet.Cells(1, "D"), "dd.mm.yyyy")
    
    Set EndOfList = Sheets(TragSheet).Columns("B").Find(what:="Öâåòîâûå îáîçíà÷åíèÿ", LookIn:=xlValues, lookAt:=xlWhole, MatchCase:=True)
    ReDim LgcAddress(1 To Zap)
    For i = 3 To EndOfList.Row - 2
        If Cells(i, "C") <> "" Then
           D1 = Format(Cells(i, "C"), "dd.mm.yyyy")
           If D1 = D2 Then
              ReDim Preserve LgcAddress(1 To Zap)
              LgcAddress(Zap) = Cells(i, "H")
              Zap = Zap + 1
           End If
        End If
    Next i
    Zap = Zap - 1

    Sheets(TragSheet).Select
    Selection.AutoFilter Field:=3, Criteria1:=D2, Operator:=xlAnd

    MsgBox Zap
    For i = 1 To Zap
        Cells(i + 45, "G") = LgcAddress(i)
    Next i

Ens Sub 

Заранее огромное спасибо!
Имя первого листа из закрытой книги
 
Доброго дня всем!

Прошу помощи у знатоков, перечитал много форума, но либо не дочитал, либо не понял.

Как получить имя первого листа в закрытой книге?
(открыть ее нужно не явно, чтобы куча макросов которые там навешаны на открытие не запускались)

Заранее спасибо!!
Возврат макросом (Redo, Ctrl+Y)
 
Доброго времени суток

"В лоб" не получилось решить такую задачу:
нужно сделать макросом "возврат(Ctrl+Y)", думал Application.Redo - а он такого не знает.
(по анологии с Application.Undo, которое работает)

кто знает помогите, пожалуйста.
Заранее спасибо
Изменено: Artmasterpro - 06.11.2017 00:17:40
Переход между ComboBox-ами листа по "Tab"
 
Добрый день!

Нужна помощь знатоков.
Есть лист книги и 40 боксов на нем пронумерованных по порядку(ComboBox1, ComboBox2...ComboBox40).
Нужно осуществить переход между ними по нажатию на "Таb" или "Tnter", но прописывать для каждого бокса обработку нажатия клавиши - не гибко,
так как если надо будет что-то изменить, то потом опять менять 40 записей.
Вопрос: можно ли обрабатывать нажатые клавиши на рабочем листе и если нажали "Таb" и фокус на боксе с номером N, то переносить фокус на бокс с номером N+1?


Заранее спасибо
При изменениях на листе отключить срабатывание ComboBox
 
Добрый день.

При открытии книги в модуле "ЭтаКнига" у меня макросом добавляется пара строк на Лист1.
При этом на Лист1 есть пара ComboBox-ов и в модуле "Лист1" прописаны действия на событие ComboBox_Change() и по видимому при добавлении строк срабатывает это событие для всех ComboBox-ов.

Нужен совет - можно ли что-то сделать чтоб при открытии книги и добавлении макросом строк на Лист1 не срабатывало ComboBox_Change() во всех боксах Лист1?

Заранее всем спасибо!
TextBox - MaxLength по первому введенному символу
 
Добрый день.

Такой вопрос - можно ли ограничить длину вводимых символов в TextBox в зависимости какой первый символ?
пробую так, не получается:
Код
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)  ' ðàçðåøàåì ââîäèòü òîëüêî öèôðû
    If (KeyAscii < 48 Or KeyAscii > 57) And (KeyAscii <> 45) Then KeyAscii = 0
    If Left(Chr(KeyAscii), 1) = "-" Then
       TextBox1.MaxLength = 3
    Else
       TextBox1.MaxLength = 4
    End If
End Sub
Заранее спасибо.
Отслеживание изменений на UserForm
 
Добрый день всем.

Нужна помощь опытных, так как сам с подобным еще не сталкивался и самому разобраться не получилось.
Есть UserForm, на ней ComboBox-4 штуки, TextBox-4 штуки и кнопка.
Нужно чтобы только при [.Value <>""] Комбо и Текст Боксов значение кнопки [.Eneble=True]
Как это сделать? (Что-то вроде Privat Sub UserForm_Change())

Заранее спасибо!
Очистка TextBox-ов циклом
 
Доброй ночи.

Подскажите, пожалуйста, нужно очистить на UserForm несколько TextBox-ов циклом
делаю так:    
Код
MaxNods = 4
For i = 10 To i + MaxNods
        DoorSetup.Controls("TextBox" & i).Value = ""
        DoorSetup.Controls("ComboBox" & i).Clear
        DoorSetup.Controls("ComboBox" & i).RowSource = MaterialList
Next i
ничего не чистит, но и ошибки не выдает,
а вот так:
Код
DoorSetup.Controls("TextBox14").Value = ""
очищает без вопросов  - вчем грабли??

Всем заранее спасибо
зависимый КомбоБокс, Не могу обработать кнопку "Dell"
 
Добрый день всем.
Прошу помощи специалистов

У меня от ячейки "С5" зависит список выводимый в соседнем КомбоБоксе.
Диапазоны, которые надо выводить в КобоБоксе, именованы и выбираются в ячейке "С5" - с этим все в порядке.
Если в КомбоБокс ничего выводить не надо, то в ячейке "С5" выбирается "НЕТ" и список КомбоБокса тут же обнуляется - с этим тоже все ок.

НО иногда бывает ситуация когда вместо выбора в ячейке "С5" позиции "НЕТ" на ячейке просто нажимают кнопку "Dell" - и вот сдесь вылазит ошибка,
а должно происходить тоже что и при выборе "НЕТ" - список КомбоБокса должен обнуляться.

Пример во вложении.
Всем заранее огромное спасибо!
DSum через VBA
 
Добрый день.
Нужна помощь специалистов - как реализовать функцию БДСУММ (DSum) через макрос?
Только реализовать не ActiveCells.Formula=DSum..., а так, чтобы критерии вводились в макросе как переменные, а не ссылкой на диапазон листа.
На листе вообще ничего не должно быть кроме самой таблицы, по которой идет выборка.

Всем заранее спасибо.
Последняя ячейка таблицы
 
Доброго дня всем.

Есть две таблицы расположенные одна под одной с интервалом в две ПУСТЫЕ ячейки. Нужно определить адрес последней строки в каждой из таблиц.
Делаю так:
Код
MsgBox Sheets(GlasDirSheet).Cells(Rows.Count, ii.Offset(1, 1).Column).End(xlUp).Address(0, 0)

где ii - адрес с названим каждой таблицы 
определяет верхнюю таблицу аж до последней строки нижней, а нижнюю правильно.
Что делаю не так?

Заранее спасибо!
Как объявить глобальный динамический массив?
 
Доброго дня всем.

В динамических массивах хранятся названия областей листа(тип String) и диапазоны этих названий(тип Range), нужно чтобы они были доступны другим модулям для использования.

Первый раз столкнулся с такой задачей, пробую так:
Код
Public FTRange()
Public FNList(), FTList()
.....
Sub 1()
    ReDim FNList(1 To St) As String                                                                          
    ReDim FTList(1 To St) As String                                                                       
    ReDim FTRange(1 To St) As Range   
         For i=1 to St
             FNList(i)=...    
             FTList(i)=...
             FTRange(i)=...
         Next i
End Sub 

говорит при компиляции, что не может изменить тип данных...

Подскажите, пожалуйста, что не так
Заранее всем спасибо!
Как обратиться к листу по имени?, если имя листа - только цифры
 
Доброго дня.

Зашел в тупик с казалось бы простым вопросом:
Есть книга, в ней все имена листов -это годы (2014, 2015, 2016), попробовал обратиться как обычно - выдает Runtime error 9, Subscript out of Range
Обращаюсь так:
Yyear = 2016
Sheets(Yyear).Select

Кто знает - что делаю не так или как победить?
Всем заранее спасибо
Как выполнить отмену(Undo) макросом?
 
Доброго времени суток.

Подскажите, пожалуйста, как будет выглядеть код который будет эмитировать "Ctrl+Z"
Заранее спасибо.
Как открыть НЕ расшареный файл Excel, по сети на другой машине
 
Всем доброго дня.

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

Заранее спасибо!
Как считать данные из Label1 ?
 
Доброго дня всем.

Неожиданно столкнулся с таким вопросом:
    При открытии книги нужно считать данные из Надписи(Label1) на первом листе,
           написал такой код:            
Код
Private Sub Workbook_Open()

        Sheets(Лист1.Name).Select                       
        VerA = Left(Label1.Caption, 7)
       
End Sub
       но при открытии вылетает ошибка: Run-timt error `424`  Object required
Не могу понять почему, подскажите, пожалуйста, что не так?

Заранее спасибо!
Функция листа DSum в VBA не хочет работать
 
Доброго вечера всем, нужна помощь специалиста.

Вот код который должен отработать по нажатии на кнопку в Excel 2003
Код
    qwe = Application.WorksheetFunction.DSum(ActiveSheet.Range("B16:Z69"), ActiveSheet.Range("F16"), ActiveSheet.Range("AW17:AY20"))
   MsgBox qwe

Но вместо истинной суммы в окно выводится "нуль" ??
При этом если прописать на листе формулой "=БДСУММ(B16:Z69;"Кол-во";AW17:AY20)" - выдает правильное значение
Что я не так делаю в ВБА?

Заранее спасибо
Как удалить файл при открытии, удаление макросом открытого файла
 
Добрый день.

Прошу помощи знатоков - можно ли как-то макросом удалить открытый Excel файл в Workbook_open() или в другом месте?

Заранее спасибо!
Обнулить переменные при закрытии файла
 
Добрый день всем.

Есть маленький sub, который при открытии файла лезет на определенный сайт, берет там курс доллара и вставляет в ячейку.
Внутри саба есть блок обработки ошибки на случай отсутствия интернета. Все работает, вопросов нет, но

столкнулся с ситуацией, что если открыть файл при рабочем инете, потом закрыть(файл а не Excel) выключить инет и снова открыть,
то он отработает как будь-то инет вкльчен и поставит последние данные. Если закрыть весь Excel, тогда все ок.
Такое впечатление, что Excel где-то что-то оставляет в памяти - в сабе обнулил все что мог.

Подскажите, пожалуйста, что я упустил?

файл с сабом.
Курс доллара с сайта
 
Всем доброго времени.

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

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

Заранее большое спасибо.
Изменено: Artmasterpro - 22.09.2015 18:03:43
Очистка ячеек, связанных с ComboBox, при "сохранить как..."
 
Доброго дня всем!

Нужна помощь знатоков во вроде бы простом вопросе, а именно:
    Есть очень простой лист и 25 ComboBox-ов на нем. В коде каждого бокса по событию Change происходит очистка трех правых ячеек.  
Код
Private Sub ComboBox1_Change()
    Range("$T$14:$Y$14").ClearContents
    Range("$T$14").Select
End Sub
Все работает, все хорошо до тех пор пока не хочешь "сохранить как.." , причем не "сохранить" а именно "сохранить как..."
В этот момент все правые ячейки очищаются, но только те, в ComboBox которых есть текст отличный от "". Такое впечатление, что
при "сохранить как..." в ComboBox происходит событие Change, но только в не пустых.
Создал новый тестовый файл с тремя ComboBox, заполняю, жму "сохранить как.." - все хорошо, ничего не очищается ??
С таким столкнулся впервые, если кто знает, подскажите пожалуйста, где искать.

Заранее спасибо.
Как прервать Application.OnTime
 
Добрый день

Прошу помощи  у знатоков, можно ли осуществить такую задумку:

 Есть файл по событию открытия которого запускается нехитрый макрос, последняя строка в котором
                 Application.OnTime FF, "offf"
 т.е. файл должен закрыться через 1 мин после открытия .

ВОПРОС: можно ли как-то остановить закрытие если на "Лист1" в ячейку "А1" будут введены любые данные с клавиатуры?

Заранее всем благодарен.
Защита группировки столбцов
 
Добрый вечер
Подскажите, пожалуйста, можно ли при не защищенном листе запретить просмотр сгруппированных столбцов
с помощью VBA или по другому?

Заранее спасибо.
Не могу макросом переключить окна
 
Всем доброго вечера.

Люди, такая проблема:
В уже открытом окне "№1" запускаю кнопкой макрос. Он УСПЕШНО считывает в переменные пару данных из ячеек и
открывает новый файл "Касса", в котором даже успешно снимает защиту листа. НО дальше ни присваивать ячейкам значение,
ни осуществлять поиск не хочет...
  Вот кусок кода:                        
Код
ChDir Path
    Workbooks.Open Filename:=Fpath, UpdateLinks:=0
    ActiveSheet.Unprotect Password:="1230"
    Windows("Касса.xls").Activate                                
    Sheets("касса").Select
    
    Cells(9, 8) = Nzakaza
    
    Set Numm = Columns("C").Find(what:=Nzakaza, LookIn:=xlValues, lookAt:=xlWhole, MatchCase:=False)
    If Not Numm Is Nothing Then
           NummRow = Numm.Row
           MsgBox "такой номер: " & Nzakaza & "в строке:" & NummRow, 64, "Внимание !!!"
           Exit Sub
    End If 
Я вроде не совсем чайник, но с таким сталкиваюсь впервые. Перепробовал уже много сего, но видать не все.
Кто знает где собака зарыта, помогите, пожалуйста.

Заранее всем спасибо!
Как записать диапазон в переменные
 
Добрый вечер

Прошу помощи по такому вопросу:

Есть переменная RngNew типа Range которой присвоен диапазон ячеек А11:F33.
Каким образом можно четырем переменным RowUp, RowDown, ColUp, ColDown
можно присвоить значения 11, 33, А, F соответсвенно, что бы дальше можно было бы
автоматически изменять границы диапазона?

Заранее большое спасибо
Страницы: 1 2 След.
Наверх