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

Страницы: 1 2 3 След.
Определить время, которое соответствует третьему наибольшему значению
 
Всем доброго дня!
Мне необходимо найти в таблице третье наибольшее значение, и вывести имя которому оно соответствует.
Я использовал следующую конструкцию:
Код
=ПОИСКПОЗ(НАИБОЛЬШИЙ(B2:F9;3);B2:F9;0)

но она почему-то выдает ошибку..
Помогите плиз с решением вопроса.
Использование функций листов в VBA
 
Приветствую уважаемые форумчане!
Может кто подсказать чем отличается использование функций листов, например match в следующих вариантах
Код
1. Application.Match
2. Application.WorksheetFunction.Match

возможно изменяется какой-то принцип работы?
Ошибка Run-time error '40036': Application-defined or object-defined error
 
Всем доброго дня!

Столкнулся с ошибкой 40036 впервые, суть в том что она возникает только на одной машине, может кто сталкивался, можете объяснить с чем она может быть связана
Код
    Set wb = Workbooks.Open(MyPath, 0, 1)
    If wb Is Nothing Then GoTo ErrorHandler
    For Each MySheet In wb.Worksheets 'Ошибка возникает на данной строке, книга открывается но цикл по листам не хочет работать
    'тут код
    Next
Изменение переменной как событие
 
Доброго дня!

Такой вопрос, возможно ли поймать изменения переменной, не важно с какого значение на какое, просто изменение?
По типу как в Watches - Break When Value Changes.
TextBox, добавление значения из переменной(Значение встает криво)
 
Всем привет!

Столкнулся с таким моментом, добавляю дату из переменной в textbox, она оказывается смещена вправо, за границу поля, пока курсором не встаю в само поле textbox. Возможно ли заставить этот элемент сразу размещать значение правильно?
Я конечно понимаю что можно растянуть textbox но не хотелось бы оставлять большие отступы по краям.
Обработчик ошибок в цикле не срабатывает(On Error GoTo) VBA
 
Доброго дня форумчане!

В файле примере написал шаблон кода. При возникновении первой ошибки в цикле обработчик срабатывает как надо, а далее начинает пропускать. Я думаю что это из-за того что у меня есть строка
Код
On Error GoTo 0

пример кода
Код
Sub test()

For i = 1 To 10

On Error GoTo ErrorHendler1

i = 2 / 0

On Error GoTo 0

afterBadComment:
'Тут код на который не должна распространяться обработка ошибок


Next i

ErrorHendler1:

'Тут обработчик ошибок
GoTo afterBadComment


End Sub
суть в том что мне необходимо ловить ошибку только в одной строке(i = 2 / 0) кода в цикле, если убрать строку:
Код
On Error GoTo 0
то как я понимаю обработчик будет отрабатывать на весь код в цикле. Как быть?
Отключить преобразование чисел в даты на листе(VBA)
 
Всем доброго дня!

Столкнулся с таким моментом, когда вставляю массив на лист все данные которые имеют значения вида 09-10 превращаются в даты. Как этого можно избежать?
Перебрать экземпляры класса циклом
 
Доброго дня знатоки!

Такой вопрос, допустим есть много экземпляров одного класса, как их перебрать циклом?
Получить свойства именованных диапазонов книги
 
Доброго дня!

Такая ситуация, мне необходимо перебрать все имеющиеся именованные диапазоны в книге и получить их свойства. Я попробовал For Each, но не смог получить имя и такой цикл перебирает диапазоны с областью действия sheets(1), как указать все листы?
Код
For Each NM In ThisWorkbook.Sheets(1).Names
     rangeAddress = range(NM).Address 'возвращает диапазон - "$A$10"
     nameAddress = range(NM).Name     'возвращает диапазон - "=Заявка!$A$10"
Next
Cортировка массива VBA
 
Доброго дня!

Есть код Quicksort для сортировки одномерного массива, взял с mdsn

Код
Sub QuickSort(arr, Lo As Long, Hi As Long)
  Dim varPivot As Variant
  Dim varTmp As Variant
  Dim tmpLow As Long
  Dim tmpHi As Long
  tmpLow = Lo
  tmpHi = Hi
  varPivot = arr((Lo + Hi) \ 2)
  Do While tmpLow <= tmpHi
    Do While arr(tmpLow) < varPivot And tmpLow < Hi
      tmpLow = tmpLow + 1
    Loop
    Do While varPivot < arr(tmpHi) And tmpHi > Lo
      tmpHi = tmpHi - 1
    Loop
    If tmpLow <= tmpHi Then
      varTmp = arr(tmpLow)
      arr(tmpLow) = arr(tmpHi)
      arr(tmpHi) = varTmp
      tmpLow = tmpLow + 1
      tmpHi = tmpHi - 1
    End If
  Loop
  If Lo < tmpHi Then QuickSort arr, Lo, tmpHi
  If tmpLow < Hi Then QuickSort arr, tmpLow, Hi
End Sub

Он предназначен для одномерного массива. У меня двухмерный массив, возможно ли модифицировать данный код, чтобы он сортировал так же по одному/первому столбцу, но изменял 2?
Методы и свойства CreateObject("System.Collections.ArrayList")
 
Почитал я статьи о ArrayList, во всех примерах в него добавляют по одному значению, без ключа, вопрос следующий, возможно ли добавлять в него объекты, например массивы и присваивать им ключи?
Есть задача, по которой мне необходимо составить список имён, к каждому имени привязать определенный адрес(диапазон на листе),  смотрю в сторону ArrayList потому что после наполнения необходимо отсортировать данные, чего не сделать в словаре или коллекции.
Перенос макроса в новую книгу программно
 
Добрый день!

Я сохраняю лист книги в новый файл следующим кодом:
Код
Sub SaveSheet()
Application.ScreenUpdating = False
Dim FileN$
FileN = ThisWorkbook.Path & "\" & "Порученние" & Date & ".xlsx"
ThisWorkbook.Sheets(1).Copy
ActiveWorkbook.SaveCopyAs FileN
ActiveWorkbook.Close SaveChanges:=False
MsgBox "Поручение сохранено" & Chr(13) & FileN
ThisWorkbook.Close SaveChanges:=False
Application.ScreenUpdating = True
End Sub
мне необходимо добавить перенос модуля вместе с процедурами в новую книгу, вместе с листом, так как на листе могут быть пользовательские формулы, которые не будут работать в новой книге.

Подскажите как быть плз.
Уникальные имена листов excel при обращении VBA
 
Доброго дня.

Сейчас столкнулся с таким моментом, на сколько мне известно, каждому созданному листу присваивается уникальное порядковое имя, которое можно увидеть в редакторе vba и нельзя изменить. Я мог обратиться к листу следующим образом:
Thisworkbook.Sheets(1)
сейчас же при попытке такого обращения vba берет лист который располагается в списке первым но его уникальное имя другое т.е. теперь (1) это порядковый номер листа который меняется при перемещении листа в книге?
Обработка событий элементов управления checkbox
 
Всем привет!
Подскажите, возможно ли обработать событие элементов управления типа checkbox располагающихся непосредственно на листе excel?

Заранее спасибо!
СРЗНАЧ для массива одинаковых данных
 
Привет всем!

Подскажите, возможно ли коротко записать формулу для расчета среднего значения по следующему условию 40 раз повторяется значение 30, 50 раз повторяется значение 40. Как я понимаю для функции СРЗНАЧ необходимо записать все указанные повторения подряд в ячейки, что выглядит громоздко. Мне всегда известно количество повторений и само значение.

Заранее спасибо.
Управление условным форматированием средствами VBA
 
Всем привет!

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

Заранее спасибо.
Автоматическое обновление собственной функции
 
Всем привет!
Возник вопрос, но к сожалению без файла примера(( Приведенная ниже функция не всегда возвращает результат, периодически она остается не пересчитанной. Например я открываю файл, на листе она пересчиталась и вернулся результат, стоит перейти в другой файл excel, совершить там несколько любых манипуляций и при переходе обратно к файлу содержащему функцию она везде возвращает ошибку, пока не кликнуть пересчет формул. В чем может быть проблема?
Код
Public Function TP(TypeP As Variant, Town As Variant)
Application.Volatile (True)
TP = Application.WorksheetFunction.CountIfs(ThisWorkbook.ActiveSheet.Range(Cells(2, Town.Column), Cells(Town.Row, Town.Column)), Town, _
ThisWorkbook.ActiveSheet.Range(Cells(2, TypeP.Column), Cells(TypeP.Row, TypeP.Column)), TypeP)
End Function
Заранее Спасибо!
Заполнение ComboBox(Ошибка 380)
 
Всем привет!

Подскажите плз почему при Me.ComboBox2.Value = 30 появляется следующая ошибка ?
Изменено: ALFA - 09.06.2016 17:23:07
Combobox - Адреса расположения данных выбранных в Combobox
 
Всем привет!

Допустим есть заполненный Combobox , выбрав любое значение из списка Combobox необходимо определить адрес ячейки, в которой данная информация содержится, как бы это сделать?

Заранее спасибо!
Поиск данных в строке
 
Приветствую всех!

Подкиньте вариант, как проверить строку содержащуюся в ячейке А1 на наличие определенного слова?
В ячейке может быть много текста, среди которого необходимо осуществлять поиск определенного сочетания.
По типу Like в VBA, только на формулах

Заранее спасибо!
Изменено: ALFA - 25.01.2016 14:05:03
Как заполнить ListBox1 располагающийся на листе VBA
 
Всем доброго дня!

Подскажите, возможно ли обращаться к ListBox размещенному на листе книги, из модуля а не писать код в данном листе?
Запретить изменять срез в сводной таблице
 
Всем привет!

Подскажите, возможно ли запретить пользователю изменять свойства среза оставив при этом возможность пользоваться прямым функционалом данного среза?
пробовал защитить лист, так он и срез не дает изменять и по фильтрам прощелкать.
Пользовательскя функция VLOOKUP без учета "Ё"
 
Всем доброго дня!

Друзья, как написать пользовательскую функцию используя VLOOKUP, которая полностью идентична, но для которой е и ё равные значения?
Гуглил, примеров не нашел, натолкните на мысли по реализации плз.

Заранее спасибо.
Изменено: vikttur - 20.10.2015 13:27:13
Подсчет количества ячеек с неопределенным значением (по типу данных) VBA
 
Всем привет!
Подскажите, возможно ли в столбце посчитать кол-во ячеек содержащих даты, например через CountIf
Код
Totality = Application.CountIf(Range(Cells(1, 1), Cells(StrokaFin, 1)), ??? )
Изменено: ALFA - 24.09.2015 17:43:45
Обработать сообщение о замене файла при сохранении нового (VBA)
 
Всем привет!

Не могу сообразить как словить сообщение о замене. Иногда мне необходимо отвечать положительно, иногда обратное. Как определить, что выдано данное оповещение?
Изменено: ALFA - 18.09.2015 21:57:20
Прикрепление файла к письму отправляемому через LotusNotes средствами VBA
 
Всем привет!

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

Код
Function Send(Poluchatel As Variant, Tema As String, Telo As Variant, PoluchatelCopy As Variant, strAttachment1 As String)

'Отправка результата письмом через LotusNotes
Dim Maildb As Object
Dim MailDoc As Object
Dim Body As Object
Dim Session As Object


Set Session = CreateObject("Notes.NotesSession")
Set Maildb = Session.GetDatabase("LN1_Ulii/Ulii", Otpr(VBA.Environ("UserName"), 3))
Set MailDoc = Maildb.CreateDocument
    MailDoc.Body = Telo
    MailDoc.SendTo = Poluchatel
    MailDoc.Form = "Memo"
    MailDoc.CopyTo = ""
    MailDoc.BlindCopyTo = PoluchatelCopy
    MailDoc.Subject = Tema

    Set objAttachMe = MailDoc.CreateRichTextItem("Attachment1")
    Set objEmbedObj = objAttachMe.EmbedObject(1454, "", strAttachment1, "Attachment")
    Set objAttachMe = MailDoc.CreateRichTextItem("Attachment1")

    Call MailDoc.REPLACEITEMVALUE("PostedDate", Now())
    Call MailDoc.Send(False)
    Set Maildb = Nothing
    Set MailDoc = Nothing
    Set Body = Nothing
    Set Session = Nothing
End Function
Не пересчитываются формулы в книге при закрытом источнике(Другой книги).
 
Всем доброго дня!!

Столкнулся с некой проблемой:
в файле есть  формула ссылающаяся на стороннюю книгу(СРЗНАЧЕСЛИМН). Она не обновляется если книга источник закрыта, т.е. для получения данных нужно открыть ту самую книгу источник. Если я открываю ее вручную, данные сразу подтягиваются и все ОК, но если я открываю книгу источник макросом то формулы все равно не получают данных, почему?
Открываю так:
Код
Workbooks.Open Filename:="C:\Users\Desktop\источник.xlsx", ReadOnly:=True
Изменено: ALFA - 05.08.2015 12:29:10
Поиск значений в таблице по определенным условиям(формулы массива)
 
Всем доброго дня!

В желтой ячейке указывается значение которое необходимо найти в указанных
диапазонах и в результат записать соответствующее значение k
Т.е. значение из желтой ячейки должно удовлетворять двум условиям - быть больше значений в столбце А и
меньше значения в столбце В, определив строку с удовлетворяющими нас условиями выписать значение из найденой строки столбца С

Заранее спасибо!
Расчет среднего значения переменных(VBA)
 
Всем доброго дня!

Есть цикл в котором следующая строка:
Код
Thisworkbook.sheets(1).cells(i, 9) = Application.WorksheetFunction.Average(a, b, c)
Так вот, считаю среднее значение от трех переменных, но бывает, что например одна из переменных приняла значение EMPTY и при расчете среднего считает ее за 0. Как бы обойти этот момент и если значение переменной EMPTY вовсе не учитывать ее?
Получение ID процесса Excel.exe
 
Всем привет!

Задача в следующем, мне необходимо создать новую/открыть книгу excel в отдельном приложении excel и получить ID приложения в котором данная книга открыта

Получить ID "второго" экземпляра открытого приложения excel получается следующим образом
Код
idproc = Shell("C:\Program Files\Microsoft Office\Office14\EXCEL.EXE", 3)
но как конкретно в этом приложении открыть интересующую меня книгу?

либо можно открыть книгу в новом приложении, но тогда как получить ID процесса?

Код
Dim app As New Excel.Application
Set WbRab = app.Workbooks.Open("C:\Users\U12345\Desktop\t.xlsm", 0, 1)
Заранее спасибо!
Страницы: 1 2 3 След.
Наверх