=СЧЁТЕСЛИ($A:$A;$A1)>1.=СЧЁТЕСЛИ($A:$A;ЛЕВСИМВ($A1;ДЛСТР($A1)-2)&"??")>1, но при условии, что у них одинаковая длина.=СЧЁТЕСЛИ($A:$A;ЛЕВСИМВ($A1;ПОИСК("-";$A1;ДЛСТР($A1)-2))&"*")>1 Но если вдруг тире в записи не окажется - неизбежна ошибка, поэтому нужно будет добавить исключение: =СЧЁТЕСЛИ($A:$A;ЕСЛИОШИБКА(ЛЕВСИМВ($A1;ПОИСК("-";$A1;ДЛСТР($A1)-2))&"*";ЛЕВСИМВ($A1;ДЛСТР($A1)-2)&"??"))>1Sub SaveAsCSVinQuotes()
Dim r As Range, c As Range, s As String
'3456789012345678901234567890123456h8nor@ya567890123456789012345678toster56789
s = Application.GetSaveAsFilename(FileFilter:="CSV файлы (*.csv), *.csv", _
Title:="Сохранение CSV в кавычках (укажите разделитель в 1 строке SEP=" _
& Application.International(xlListSeparator) & ")")
If s = "False" Then Exit Sub
Open s For Output As #1
For Each r In ActiveSheet.UsedRange.Rows
s = ""
For Each c In r.Cells
If c.Value2 Like "* *" Then s = s & ";" & """" & c & """" _
Else s = s & ";" & c
Next c: Print #1, Mid(s, 2)
Next r: Close #1
End SubИ не забудьте экранировать кавычки кавычками, если они будут встречаться в названии колонки. =ЦЕЛОЕ(СУММ(A1:A3))
=ЕСЛИ(ОСТАТ(СУММ(A1:A3);1)>0;ЗАМЕНИТЬ(СУММ(A1:A3);1;ДЛСТР(ЦЕЛОЕ(СУММ(A1:A3)))+1;"");"0")Чтобы быстро редактировать суммируемый диапазон, можно заменить в формулах A1:A3 на ссылку ДВССЫЛ(B1), записав в ячейке B1 значение на ссылаемый диапазон A1:A3.=СЖПРОБЕЛЫ(ЛЕВСИМВ(ПРАВСИМВ(ПОДСТАВИТЬ(A1;"/";ПОВТОР(" ";99));198);99))Задача схожа с "Как выделить доменное имя с ячейки Excel?". Взято отсюда. Нужно чтобы в чекбоксах выдавало статус checked/uncheckedВ примере по ссылке свойство
myabsent.Value имеет тип boolean.То тогда как переконвертировать в integer?Для изменения типа на
long необходимо изменить параметр на myabsent.TripleState = True ' Тройное состояние. Решение задачи. Option Explicit
'123456789012345678901234567890123456h8nor@ya567890123456789012345678toster56789
Sub TestADO()
Dim Conn As Object, Rec As Object
On Error GoTo ErrMsg ' Создание подключения через драйвер
Set Conn = CreateObject("ADODB.Connection") ' Открываем Connection
Conn.ConnectionTimeout = 5
Conn.Mode = 1 ' 1 = adModeRead, 2 = adModeWrite, 3 = adModeReadWrite
Str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & $dbPath & ";"
' Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""
'Str = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & $dbPath & ";"
'Str = Str & "Jet OLEDB:Engine Type=6;" ' Тип подключения (не используется)
Str = Str & "Jet OLEDB:Encrypt Database=False;"
Str = Str & "Jet OLEDB:Database Password=" & $passDB & ";"
' Системная таблица Access 2003 (файлы *.mdb)
'Str = Str & "Jet OLEDB:System database=" & $mdwPath
Conn.Open ConnectionString:=Str ', UserId:="$admin", Password:=""
Debug.Print "Conn.State="; Conn.State
Set Rec = CreateObject("ADODB.Recordset") ' Создаём RecordSet для чтения данных
' ...
Set Rec = Nothing: Set Conn = Nothing
On Error GoTo 0: Exit Sub
ErrMsg:
MsgBox Str & String(2, vbCrLf) & "Provider=" & Conn.Provider, _
vbOKOnly + vbCritical, "Error: " & Err.Number & ", AppVer: " _
& Val(Application.Version): Set Rec = Nothing: Set Conn = Nothing
End Sub Application.International(xlListSeparator). В первой строке CSV можно задать разделитель sep=;.Возможно есть способ добавить изображение на конкретную ячейку?Проще привязаться к свойствам ячейки .Top и .Left, чем колдовать с DPI. На VBA это выглядит так:
With ActiveSheet.Pictures.Insert("PATH")
.Top = Cells(5, "D").Top
.Left = Cells(5, "D").Left
End With