Sub ДвоичныйПоиск()

Sub ДвоичныйПоиск()
    
    txtFind = "01.02.2023"
    
    first = 1
    last = 51
    Length = 50
    half0 = 26
    i = 1
    Length = first + last
    Do While last >= first
        half = Round((first + last) / 2)
        
       If Range("B" & half) = CDate(txtFind) Then
          For Row = half To 50
            If Range("B" & Row) <> CDate(txtFind) Then
                xx = Row
                Exit For
            End If
          Next Row
        Debug.Print "Кол-во операций: " & i & " последний элемент " & xx - 1
        Exit Sub
       End If
        
        If Range("B" & half).Value > CDate(txtFind) Then    'Range("B" & half) > txtFind   'DateDiff("d", txtFind, Range("B" & half)) > 0
            last = half - 1
        Else
            first = half + 1
        End If
    i = i + 1
    Loop
    
    
    
    Debug.Print "Значение не найдено. Кол-во операций " & i
End Sub

Переименовать элемент справочника

Процедура ПереименоватьНажатие(Элемент)
	// Вставить содержимое обработчика.
	
	Если Гараж  = Справочники.спГараж.ПустаяСсылка() тогда
		 возврат;
	КонецЕсли;
	 
	ОбъектГараж = Гараж.ПолучитьОбъект();
	ОбъектГараж.Наименование = НовоеИменование;
	ОбъектГараж.Записать();
	
	Гараж = ОбъектГараж.Ссылка;
	
КонецПроцедуры
Рубрика: 1C

Найти элемент в справочнике

Процедура НайтиГаражНажатие(Элемент)
	// Вставить содержимое обработчика.
	Если ПустаяСтрока(ТекущееНазвание)  тогда
		возврат;
	конецЕсли;
	
	Гараж = Справочники.спГараж.НайтиПоНаименованию(ТекущееНазвание,Истина);
КонецПроцедуры

Удалить элементы справочника по условию


Процедура ДействияФормыУдалить(Кнопка)
	// Вставить содержимое обработчика.
	Выборка = Справочники.спАвтомобили.Выбрать();
	
	Пока Выборка.Следующий() = 1 Цикл
		Если Выборка.Марка.Пустая() тогда
			   Сообщить(Выборка.Марка);
			   Выборка.ПолучитьОбъект().Удалить();
		КонецЕсли
			КонецЦикла;
КонецПроцедуры
Рубрика: 1C

Работа с буфером

‘Public Sub SetTextIntoClipboard(ByVal txt As String) ‘ Dim MyDataObj As New DataObject ‘ MyDataObj.SetText txt ‘ MyDataObj.PutInClipboard ‘End Sub   Sub SetTextIntoClipboard(ByVal txt$) ‘ Запись в буфер With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText txt$ .PutInClipboard End With End Sub   Sub Extract_Unique() Dim Продолжить чтение Работа с буфером

Открыть диалоговое окно

    Sub ShowGetOpenDialod() Dim avFiles ‘по умолчанию к выбору доступны файлы Excel(xls,xlsx,xlsm,xlsb) avFiles = Application.GetOpenFilename _ ("Excel files(*.xls*),*.xls*", 1, "Выбрать Excel файлы", , True) If VarType(avFiles) = vbBoolean Then ‘была нажата кнопка отмены — выход из процедуры Exit Sub Продолжить чтение Открыть диалоговое окно

Word надстройки З-н

Sub addTable() Dim wb As Excel.Workbook With Application.FileDialog(msoFileDialogFilePicker) .AllowMultiSelect = False .Title = «Выбрать файлы отчетов» ‘заголовок окна диалога .Filters.Clear ‘очищаем установленные ранее типы файлов .Filters.Add «Excel files», «*.xls*;*.xla*», 1 ‘устанавливаем возможность выбора только файлов Excel .FilterIndex = 2 ‘устанавливаем Продолжить чтение Word надстройки З-н