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

Страницы: 1 2 След.
Вернуть фокус Экселю после открытия другого приложения
 
Всем привет! Ребят, подскажите:
Например, через Shell открыл документ pdf, возвращаю фокус экселю через AppActivate Application.Caption.
На панели задач эксель активно мигает, но набор с клавиатуры не передает данные в активную ячейку. Приходится кликнуть мышкой для полного возврата.
Возможно ли это решить и как?  
Проверка данных - Сообщение для ввода, Редактирование окна сообщения для ввода
 
Доброго здоровья, ребятки  :)
Подскажите, сообщение для ввода в проверке данных не влазит в выводимое окно, как можно менять размер? И да, давным-давно мне попался файл, где был изменен даже стиль у этих сообщений, и размер... но никаких макросов там я не обнаружил тогда... вроде (Файл утерян  :cry: )
Изменено: Azakia - 04.07.2023 12:59:24
Показать детали по условию среза
 
Доброго здоровья, ребятки! Всех с прошедшими праздниками  :)
Подскажите, почему детали позиции сводной таблицы не реагируют на условия среза? Если оформить столбец "Месяц" как фильтр сводной таблицы, то детали строятся по нему, но вот по срезу - нет  :sceptic:
Как это решить, если нужен именно срез?
Смещение источника среза
 
Ещё раз (за сегодня) привет, ребята!  :)
Подскажите, пожалуйста, как сместить источник среза?
Нужны, например, данные по разделу (2м столбцам) "Получено" или "Оплачено"
Пробовал через SlicerCaches.Item(i).SourceName - не получилось

З.ы. возможно это добавили в новых версиях МО... у меня 2010
Изменено: Azakia - 27.12.2021 23:24:29
VBA. Номера строк позиции сводной таблицы
 
Доброго здоровья, ребятки!  :)
Подскажите, пожалуйста, можно ли получить через вба номера строк из которых состоит позиция в сводной таблице через "Показать детали"? Можно, конечно, держать дополнительный столбец с номером в таблице, но интересует решение через вба
VBA. Маршрутизация Яндекс
 
Всем доброго здоровья, ребятки  :)
Нашёл пример получения гео-данных по Яндекс. Зарегистрировал себе apikey. Получаю успешно точки по адресу, но подсчёт возможен с такими данными только по прямой!
Есть ли возможность подсчитывать километраж авто-маршрута? Или это только если парсить яндекснавигатор (возможно ли это вообще)?

упд: можно и любые другие сервисы. Яндекс - непринципиально!
Изменено: Azakia - 18.11.2021 14:07:49
Данные из файла сертификата через VBA
 
Доброго здоровья, ребята  :)
Подскажите, пожалуйста, возможно ли доставать данные из файлов .cer, например, ФИО и дату срока сертификата?
Найти пересечение дат в диапазоне
 
Ребят, всем привет!
Понимаю, что тема заезженная, но по поиску подходящего для своего примера, решения не увидел...
Подскажите, можно ли для всего диапазона найти хоть одно пересечение или нет? Просто с формулой "конкретного ответа" - ДА или НЕТ  
Передача имени UserForm в Sub
 
Доброго дня всем! Ребят, подскажите:
В форме есть вызов покраски
Код
Private Sub UserForm_Initialize()
    Call Dye
End Sub

Sub Dye()
Dim e As Control
For Each e In Me.Controls
    Select Case TypeName(e)
        Case "Label": e.ForeColor = RGB(0, 0, 0)
        Case "CheckBox" : e.ForeColor = RGB(1, 1, 1)
   End Select
Next e
End Sub

Если форм много, то для каждой можно и продублировать подобную процедуру, но как быть, если Sub Dye поместить в отдельный модуль и вызывать при запуске той или иной формы? Как процедуре объяснить с какой формой сейчас надо работать?

Нужно ли отключение экрана/ событий и т.д., если приложение скрыто?
 
Доброго здоровья всем!
Такой вот вопрос:
Код
Application.Visible = False
UserForm1.Show

Не влияют ли при этом ScreenUpdating, EnableEvents и т.д.?

Необходимо ли для ускорения работы с другими книгами или листами в текущей отключать всё?

Изменено: Azakia - 16.09.2020 16:12:50
Метод .Find не ищет часть даты
 
Доброго здоровья всем, ребятки =)
Пожалуйста, объясните следующее:
В ячейке А1 стоит дата - 01.07.2020
Включаю макрос
Код
MsgBox Worksheets(1).Columns("A:A").Find(What:="2020", LookAt:=xlPart, LookIn:=xlValues).Row
Выдаёт строку 1 (правильно)
Пробую найти часть
Код
MsgBox Worksheets(1).Columns("A:A").Find(What:="07.2020", LookAt:=xlPart, LookIn:=xlValues).Row
Не выводит результат!
Не пойму почему часть года находит, а часть месяца с годом - нет!
Изменено: Azakia - 11.08.2020 16:02:05
Не подсчитывает количество писем во "Входящие" личной учётной записи
 
Доброго здоровья, ребятки ;)
Подскажите, пожалуйста:
Код
Sub look()
Dim objOutlApp As Object, oNSpace As Object, oIncoming As Object
Dim oIncMails As Object, oMail As Object
Dim IsNotAppRun As Boolean
Application.ScreenUpdating = False
On Error Resume Next
   Set objOutlApp = GetObject(, "outlook.Application")
   If objOutlApp Is Nothing Then
      Set objOutlApp = CreateObject("outlook.Application")
      IsNotAppRun = True
   End If
Set oNSpace = objOutlApp.GetNamespace("MAPI")
Set oIncoming = oNSpace.GetDefaultFolder(6)
Set oIncMails = oIncoming.Items
x = 0
 For Each oMail In oIncMails
  x = x + 1
 Next
Application.ScreenUpdating = True
MsgBox x
End Sub
Выбивает 0, хотя папка "входящие" заполнена письмами! Подключаюсь к "отправленные" и выдаёт ответ 8, стоит отметить, что папка содержит больше 8 отправленных.
В итоге увидел, что эти 8 писем содержит не моя учётная запись "...маил.ру", а учётная запись "Файл данных Outlook"!
Вопрос: как считать письма в своей учётке?
Закрыть Outlook только при пустой папке "Исходящие"
 
Доброго здоровья всем :)
Ребят, ну выручайте, пожалуйста!
Есть макрос по отправке писем:
Код
Sub Mail()
Dim i As Long
    Dim objOutlookApp As Object, objMail As Object
    Dim sTo As String, sSubject As String, sBody As String, sAttachment As String
 
    Application.ScreenUpdating = False
    On Error Resume Next
    Set objOutlookApp = GetObject(, "Outlook.Application")
    Err.Clear
    If objOutlookApp Is Nothing Then
        Set objOutlookApp = CreateObject("Outlook.Application")
    End If
    objOutlookApp.Session.Logon
For i = 1 To 9

Cells(10, 4) = i
ActiveWorkbook.Save

    Set objMail = objOutlookApp.CreateItem(0)  
    If Err.Number <> 0 Then Set objOutlookApp = Nothing: Set objMail = Nothing: Exit Sub

    sTo = Cells(i, 3) 
    sSubject = "оплата"   
    sAttachment = ActiveWorkbook.FullName

    With objMail
        .To = sTo 
        .Subject = sSubject
         .Attachments.Add sAttachment
        .Send
    End With
    
 Next i

    Set objOutlookApp = Nothing: Set objMail = Nothing
    Application.ScreenUpdating = True

End Sub

Работает как хотелось вроде бы, но собственно в чём проблема то: задачи создаются, письма всем отправляются, но макрос справляется настолько быстро, что он закрывает в конце аутлук и не все письма уходят адресатам, то есть по факту до конца процедуры успевает отправиться, например, писем 6 из 9, а остальные виснут в исходящих и дожидаются нового сеанса! Приходиться открывать аутлук вручную и дожидаться пока все исходящие разлетятся.

Как же всё таки объяснить ему закрыть приложение только с пустой папкой "исходящие"?
Условие как переменная
 
Ребят, доброго здоровья всем!)
Подскажите пожалуйста следующее...

Код
Sub test ()
Dim value As String
value = TextBox1.Text
If ComboBox1 = "часть" Then
For i = 1 To L
If Cells(i, 3)) Like "*" & value & "*" Then
ListBox1.AddItem ""
ListBox1.List(x, 0) = Cells(i, 1)
ListBox1.List(x, 1) = Cells(i, 2)
x = x + 1
Next i
End If
If ComboBox1 = "целое" Then
If Cells(i, 3)) = value Then
ListBox1.AddItem ""
ListBox1.List(x, 0) = Cells(i, 1)
ListBox1.List(x, 1) = Cells(i, 2)
x = x + 1
Next i
End If
End sub

Как видите я делаю одно и тоже действие с листбоксом но только по разным условиям.
Если в оригинале, то заполнение лб более обширнее а условий может быть тоже много, и если прописывать каждый раз условие я естественно повторяю один и тот же кусок кода что будет делать его более громоздким! Это вроде бы и не трудно но именно поэтому и возникает у меня вопрос:
можно ли каким-то образом условие задавать как "переменную" чтобы не прописывать одни и те же действия много раз?

Что лучше: If или Select Case?
 
Доброго здоровья, ребята!)
Просто интересно:
На деле могу писать и через иф и через ск! хоть так и этак...всё равно!
Но вот есть ли какая существенная разница? Или проще говоря что лучше? Или всё таки без разницы?
Перебор текстбоксов в установленном порядке
 
Всем доброго здоровья!)
Ребят, ну вот такая проблема:
Пишу код
Код
For Each TB In Me.Controls
 If TypeName(TB) = "TextBox" Then
        
TB = CDbl(.Cells(row, column + x).Value)
       
 x = x + 1
    
End If

Next TB
Смысл в том что считывая строку на листе он перебирает столбцы один за другим как вы видите и записывает в имеющейся текстбокс на форме, которые также установлены в таком же порядке
Но вот проблема он хаотично перебирает текстбоксы! Т.е. столбец1 соответствует текстбоксу 1 а он начинает с другого и так далее...
Думал табиндекс поможет - нет! Подскажите пожалуйста можно ли и как контролить порядок
Изменено: Azakia - 08.02.2017 10:33:02
Дополнение массива новыми данными
 
Ребят, доброго здоровья всем и с наступающим!)))
Подскажите пожалуйста следующее
есть определённое количество лет и на каждый год отдельный лист
я создаю массив чтобы он поместил в себя столько лет сколько я указываю в инпут боксах, т.е. первый год я ввожу 2016 а второй 2019
и массив в моем понимании должен записать данные одного листа а потом дополняться данными с последующих листов
естественно массив мой просто перезаписывается
подскажите как ему объяснить чтобы дополнялся а не перезаписывался
Вызвать событие AfterUpdate с другой формы
 
Приветствую всех!) Ребят, ну вот опять у меня вопрос назрел...
Есть форма Find с листбоксом, пишу
Код
Public Ss As Double
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Ss = Me.ListBox1.List(ListBox1.ListIndex, 0)
Unload Find
VP.TextBox4 = Ss
End Sub
на форме VP на текстбоксе4 в событии AfterUpdate происходят определённые действия с передаваемым значением Ss
значение успешно передаётся но AfterUpdate не происходит
решением в принципе есть создать процедуру например Sub www () а потом сделать Call www, но вот и вопрос у меня - можно ли как-то заставить сработать событие?
P.S. Change событие никак не подходит мне
Загрузить в массив выборочные столбцы
 
Доброго здоровья всем, ребятки)))
Написал код
Код
Sub xxx()
Dim masik()
Dim Lrow As Long
Lrow = Sheets("Лист1").Cells(Rows.Count, 3).End(xlUp).Row
ReDim masik(Lrow, 21): masik = Sheets("Лист1").Range("A3:U" & Lrow).Value
End Sub
Всё хорошо конечно, но вот вопрос возник у меня...
Если необходим не диапазон а лишь несколько столбцов как написать?
Пробовал написать как select т.е. через запятую
Код
ReDim masik(Lrow, 21): masik = Sheets("Лист1").Range("A3:B" & Lrow, "U3:U" & Lrow).Value
Он не ругается ни на что а просто загружает всё те же 21 столбец
Подскажите пожалуйста есть ли решение
application.worksheetfunction VS цикл For
 
Доброго здоровья всем!)
Необходимо подсчитать кол-во по критерию(ям)
Рассматриваю 2 варианта:
1) application.worksheetfunction.countifs
2) For + If
Ребят, вот интересует следующее: что лучше работает ну или быстрее ну или там ... не знаю... короче я надеюсь основной смысл поняли)
И вообще насколько хорош worksheetfunction?
Изменено: Azakia - 25.10.2016 12:57:48
Установить лист как переменную для всех процедур формы
 
Доброго здоровья всем, ребята!)
Есть форма с процедурами перед началом которых я устанавливаю один и тот же лист к примеру Set l = Лист1
устанавливаю я конечно не один лист
Можно ли его установить публично для всех процедур на подобии Public l As Worksheet чтобы не прописывать его под каждую процедуру
Подскажите пожалуйста
З.ы. это не проблема конечно просто интересно есть ли способы проще
Можно ли сделать UserForm неактивным
 
Доброго здоровья всем, ребят)))
Подскажите пожалуйста вот есть UserForm! Если необходимо переключиться на лист или книгу необходимо закрывать её или сворачивать!
А вот например форма "поиска" (Ctrl+F) остаётся всегда открытой при любых переключениях (на лист или другую книгу) просто окно остаётся неактивным и при этом отображается поверх активных!
Можно ли применить такое свойство к UserForm?
PrintForm - Можно ли изменить ориентацию страницы
 
Доброго дня всем!
Ребят ну подскажите печатаю форму но она естественно не влазит в страницу нужна альбомная ориентация короче
можно ли в PrintForm менять ориентацию или масштаб чтоб я хотя бы в книжную страницу влез
Код
Private Sub CommandButton1_Click()
Stat.PrintForm
End Sub
Цикл For с пропуском строки
 
Ребят ну помогите разобраться пожалуйста
почитал про For! Пыталсь разобраться в цикле...если честно то я его очень плохо понимаю но хотелось бы))
Есть табличка на листе а на втором из первой таблице надо с каждой позиции сделать как бы лесенку
в примере я показал конечный результат
подскажите пожалуйста
xml tools для 64 -разрядной версии Office 2010
 
Всем доброго времени суток!
Ребят нужно мне сохранить файл xml скачал xml tools а он выбил ошибку мол под 32х зарядку только работает
Под 64ю не нахожу
Подскажите пожалуйста есть ли надстройка на 64 или мне ставить старый офис?
Динамическая диаграмма в разрезе показателей, Как вернуться в свод?
 
Доброго здоровья всем!
Пожалуйста подскажите возможно ли тут что-то сделать!
Я читал статьи по динам.диаграммам ну в данном случае отдельно по показателям
Изначально на листе у меня диаграмма свода, а на втором листе я по примеру сделал отдельно по рядам
И главный вопрос: можно ли из выпадающего списка выбрать например "все показатели" и вернуть диаграмму в свод и как это сделать?
или выхода нет и надо держать две диаграммы?

я наверно неправильно выразился: "и вернуть диаграмму в свод..."
я имею в виду не вернуться на лист с диаграммой а в этой же с показателями просто выбрать сразу все ряды а не по одному
Изменено: Azakia - 20.05.2016 11:27:11
Сумма определённых значений в ячейках через цикл For
 
Доброго здоровья всем!)
В общем такое вот дело:
В сером диапазоне я ввожу сумму одной валюты и делаю себе через событие change на листе перевод по курсу и сразу перезаписываю ячейку с первоначальной суммой и курсом разделяя их дробью (ввожу 125 а получаем : "125 / 250")
По этому столбцу мне нужна сумма в током же виде:  ### / ###
Я делаю два "вспомогательных столбца", разделяю ячейку на до и после дроби , перевожу в значение и в конце подбиваю сумму, а потом собственно делаю сцепку и в "фиолетовом итоге" получаю необходимое!
По сути то что мне нужно я так или иначе получил, но Вы, мои дорогие форумчане наверно спросите:"Дык а чего надобно-то ещё, а?"
А вот интересно можно ли и как обойтись без столбцов и через цикл просуммировать все значения предварительно разделив их от дроби?  
Больше колонок в listbox
 
Доброго здоровья всем!
Ребят, такая проблема:
Пытался сделать листбокс на 12 колонок и не получилось. Узнал что листбокс поддерживает только от 0 до 9 колонок но видел формы с большим количеством колонок...или нет...или показалось...
В общем если есть какой метод для большего количества колонок научите пожалуйста!
вот моя книга если что...
Изменить язык формата даты
 
Доброго дня! Проблема вот какая:
На одном компьютере ТЕКСТ(B1;"ДД.ММ.ГГГГ") выдаёт дату правильно а на втором нет - он так и выбивает в ячейку результат: ДД.ММ.ГГГГ
Как выяснилось второй компьютер выдаст дату правильно в английском варианте т.е. ТЕКСТ(B1;"DD.ММ.YYYY") - вот так работает при том что формула все равно написана на русском!
гляжу в формат ячейки (все форматы) на одном дд мм а на другом dd mm!
версии одинаковые, обе русские с одного установщика!
подскажите пожалуйста как изменить язык формата
TextBox по формуле выдаёт неправильный десятичный результат
 
Доброго дня всем!)
Ребят, помогите пожалуйста разобраться в такой проблеме:
Есть форма с 4мя текстбоксами. 4й должен дать результат по формуле но выводит его неправильно в случае который я описал в файле. Если ввести три например значения которые я указал должен выбить большую абракадабру! Есть бывает выдаёт правильный результат а бывает нет!(
Пожалуйста помогите решить
Страницы: 1 2 След.
Наверх