Sub 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.3060 X1=100:Y1=160 3060 X1=100:Y1=160 3060 X1=180:Y1=160
3070 X2=260:Y2=160 3070 X2=340:Y2=160 3070 X2=400:Y2=160
3080 X3=180:Y3=21.4 3080 X3=260:Y3=21.4 3080 X3=250:Y3=419.8
ЗЫ: Как посчитать Y3 написал в комментариях.Sub catch_error()
Dim curerr As Object
On Error Resume Next
Set curerr = Err
' Установить Adobe Acrobat, создать COM-объект
' Set objPDDoc = CreateObject("AcroExch.PDDoc")
' ...
End Sub
Отладка: View -> Locals Windowjso
использовать для отладки консольjso.console.Show
jso.console.Clear
jso.console.println ("err!")
/commits/<branch>?author=<user>
=СЖПРОБЕЛЫ(ЛЕВСИМВ(ПРАВСИМВ(ПОДСТАВИТЬ(A1;"/";ПОВТОР(" ";99));198);99))
Задача схожа с "Как выделить доменное имя с ячейки Excel?". Взято отсюда. Option Explicit
Option Base 1
'123456789012345678901234567890123456h8nor@ya567890123456789012345678toster56789
Function CRC_ITN(ByVal ITN12orTIN10 As Double) As Boolean ' Проверка ИНН
Dim FactorSum() As Variant, i As Integer, n As Byte, s As Integer
FactorSum = Array(3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8)
n = Len(CStr(ITN12orTIN10)) ' По длине определяем: Физ или Юр лицо
If n - 1 > UBound(FactorSum) Then Exit Function ' False, если больше 12 цифр
For i = n - 1 To 1 Step -1
s = s + CByte(Mid(ITN12orTIN10, i, 1)) * FactorSum(12 - n + i)
Next i: i = (s \ 11) * 11
If Right(ITN12orTIN10, 1) = Right(s - i, 1) Then CRC_ITN = True
If n = 12 Then If Not CRC_ITN(Left(ITN12orTIN10, n - 1)) Then CRC_ITN = False
End Function
Нужно чтобы в чекбоксах выдавало статус 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