Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Записи участника (krosav4ig) - Мир MS Excel

Результаты поиска
krosav4ig Дата: Пятница, 11.11.2016, 18:22 | Сообщение № 1041 | Тема: Переменная в операторе Sort
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте, у вас ошибка в блоке [vba]
Код
Select Case ... End Select
[/vba]
вот так будет правильно
[vba]
Код
    Select Case Left(s, 1)
        Case "M" 'M англ
            CusOrd = "M1,M2,M3,M4,M5,M6,M7,M8,M9,M10"
        Case "М" 'M русск
            CusOrd = "М1,М2,М3,М4,М5,М6,М7,М8,М9,М10"
    End Select
[/vba] или вот так
[vba]
Код
    f = Left(s, 1)
    Select Case True
        Case f = "M" 'M англ
            CusOrd = "M1,M2,M3,M4,M5,M6,M7,M8,M9,M10"
        Case f = "М" 'M русск
            CusOrd = "М1,М2,М3,М4,М5,М6,М7,М8,М9,М10"
    End Select
[/vba]или вообще вот так
[vba]
Код
CusOrd = Mid(Join(Array(Nil, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10), "," & Left(s, 1)), 2)
[/vba]
а если при объявлении переменной задать длину, то можно и не использовать Left()
[vba]
Код
Sub sort()
    Dim CusOrd As String
    Dim f As String * 1
    Dim LC As Integer
    Set twb = ActiveSheet 'ActiveWorkbook.Worksheets(1)
    With twb
        LC = .Cells(Rows.Count, 1).End(xlUp).Row
        f = .Range("c1").Value
        Select Case f
            Case "M", "М"
                CusOrd = Mid(Join(Array(Nil, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10), "," & f), 2)
            Case Else
                Exit Sub
        End Select
        .sort.SortFields.Clear
        .sort.SortFields.Add Key:=Range("C1:C" & LC), _
        SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:=CusOrd, DataOption:=xlSortNormal
        With .sort
            .SetRange Range("A1:D" & LC)
            .Header = xlGuess
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Пятница, 11.11.2016, 18:41
 
Ответить
СообщениеЗдравствуйте, у вас ошибка в блоке [vba]
Код
Select Case ... End Select
[/vba]
вот так будет правильно
[vba]
Код
    Select Case Left(s, 1)
        Case "M" 'M англ
            CusOrd = "M1,M2,M3,M4,M5,M6,M7,M8,M9,M10"
        Case "М" 'M русск
            CusOrd = "М1,М2,М3,М4,М5,М6,М7,М8,М9,М10"
    End Select
[/vba] или вот так
[vba]
Код
    f = Left(s, 1)
    Select Case True
        Case f = "M" 'M англ
            CusOrd = "M1,M2,M3,M4,M5,M6,M7,M8,M9,M10"
        Case f = "М" 'M русск
            CusOrd = "М1,М2,М3,М4,М5,М6,М7,М8,М9,М10"
    End Select
[/vba]или вообще вот так
[vba]
Код
CusOrd = Mid(Join(Array(Nil, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10), "," & Left(s, 1)), 2)
[/vba]
а если при объявлении переменной задать длину, то можно и не использовать Left()
[vba]
Код
Sub sort()
    Dim CusOrd As String
    Dim f As String * 1
    Dim LC As Integer
    Set twb = ActiveSheet 'ActiveWorkbook.Worksheets(1)
    With twb
        LC = .Cells(Rows.Count, 1).End(xlUp).Row
        f = .Range("c1").Value
        Select Case f
            Case "M", "М"
                CusOrd = Mid(Join(Array(Nil, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10), "," & f), 2)
            Case Else
                Exit Sub
        End Select
        .sort.SortFields.Clear
        .sort.SortFields.Add Key:=Range("C1:C" & LC), _
        SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:=CusOrd, DataOption:=xlSortNormal
        With .sort
            .SetRange Range("A1:D" & LC)
            .Header = xlGuess
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 11.11.2016 в 18:22
krosav4ig Дата: Четверг, 10.11.2016, 18:49 | Сообщение № 1042 | Тема: Клуб 500
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
увидел свою репу, зашел сюда, а тут мну ужо напоздравляли.
Спасибо большое, очень приятно. :)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеувидел свою репу, зашел сюда, а тут мну ужо напоздравляли.
Спасибо большое, очень приятно. :)

Автор - krosav4ig
Дата добавления - 10.11.2016 в 18:49
krosav4ig Дата: Вторник, 08.11.2016, 16:05 | Сообщение № 1043 | Тема: Какой командой можно вывести часть массива из памяти?
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
имхо, лучше написать
[vba]
Код
        rr = Evaluate("Row(R" & r1 & ":R" & r2 & ")")
        cc = Evaluate("row(R" & c1 & ":R" & c2 & ")")
[/vba]дабы избежать ошибок при смене стиля ссылок на R1C1


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеимхо, лучше написать
[vba]
Код
        rr = Evaluate("Row(R" & r1 & ":R" & r2 & ")")
        cc = Evaluate("row(R" & c1 & ":R" & c2 & ")")
[/vba]дабы избежать ошибок при смене стиля ссылок на R1C1

Автор - krosav4ig
Дата добавления - 08.11.2016 в 16:05
krosav4ig Дата: Понедельник, 07.11.2016, 19:59 | Сообщение № 1044 | Тема: ИСТИНА, если "/" в ячейке встречается больше одного раза.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
и у мну тож 22 и 23 без =


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеи у мну тож 22 и 23 без =

Автор - krosav4ig
Дата добавления - 07.11.2016 в 19:59
krosav4ig Дата: Воскресенье, 06.11.2016, 22:20 | Сообщение № 1045 | Тема: Как узнать, какие иконки в сортировке
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
если сортировка по значку, то [vba]
Код
sortfield.sortonvalue
[/vba] - это обьект icon,
чтобы получить iconset просто обращаемся к его предку [vba]
Код
sortfield.sortonvalue.parent.id
[/vba] будет id используемого в столбце iconset'а


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеесли сортировка по значку, то [vba]
Код
sortfield.sortonvalue
[/vba] - это обьект icon,
чтобы получить iconset просто обращаемся к его предку [vba]
Код
sortfield.sortonvalue.parent.id
[/vba] будет id используемого в столбце iconset'а

Автор - krosav4ig
Дата добавления - 06.11.2016 в 22:20
krosav4ig Дата: Воскресенье, 06.11.2016, 22:11 | Сообщение № 1046 | Тема: HPageBreaks не хочет считать страницы
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
И как это обходить?

Потанцевать с бубном, впрочем как и всегда[vba]
Код
Public Sub tesst()
Dim ws As Worksheet, c&
Set ws = Worksheets(1)
c = ws.HPageBreaks.Count
[A1048576] = 1
Debug.Print ws.HPageBreaks(c + 1).Location.Row
[A1048576].Delete xlUp
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
И как это обходить?

Потанцевать с бубном, впрочем как и всегда[vba]
Код
Public Sub tesst()
Dim ws As Worksheet, c&
Set ws = Worksheets(1)
c = ws.HPageBreaks.Count
[A1048576] = 1
Debug.Print ws.HPageBreaks(c + 1).Location.Row
[A1048576].Delete xlUp
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 06.11.2016 в 22:11
krosav4ig Дата: Воскресенье, 06.11.2016, 21:46 | Сообщение № 1047 | Тема: Как узнать, какие иконки в сортировке
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
с сортировкой почти то же самое
Код
SortField.SortOnValue.Index
выдает порядковый номер иконки (в прямом порядке, возможно нужно будет еще проверять [vba]
Код
IconSetCondition.ReverseOrder
[/vba])
К сообщению приложен файл: 2888535.xlsm (23.7 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениес сортировкой почти то же самое
Код
SortField.SortOnValue.Index
выдает порядковый номер иконки (в прямом порядке, возможно нужно будет еще проверять [vba]
Код
IconSetCondition.ReverseOrder
[/vba])

Автор - krosav4ig
Дата добавления - 06.11.2016 в 21:46
krosav4ig Дата: Воскресенье, 06.11.2016, 21:04 | Сообщение № 1048 | Тема: Как узнать, какие иконки в сортировке
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Как это сделать?

[vba]
Код
debug.? activesheet.autofilter.filters(НомерСтолбца).criteria1.index
[/vba]выдаст порядковый номер иконки из используемого набора
[vba]
Код
With Selection.FormatConditions
    For i = 1 To .Count
        If TypeOf .Item(i) Is IconSetCondition Then Debug.Print .Item(i).iconSet.ID
    Next
End With
[/vba] выдаст id набора иконок
К сообщению приложен файл: ICON.xlsm (23.3 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Воскресенье, 06.11.2016, 21:17
 
Ответить
Сообщение
Как это сделать?

[vba]
Код
debug.? activesheet.autofilter.filters(НомерСтолбца).criteria1.index
[/vba]выдаст порядковый номер иконки из используемого набора
[vba]
Код
With Selection.FormatConditions
    For i = 1 To .Count
        If TypeOf .Item(i) Is IconSetCondition Then Debug.Print .Item(i).iconSet.ID
    Next
End With
[/vba] выдаст id набора иконок

Автор - krosav4ig
Дата добавления - 06.11.2016 в 21:04
krosav4ig Дата: Четверг, 03.11.2016, 21:53 | Сообщение № 1049 | Тема: Формула расчета рабочего времени на складе (часы, минуты)
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Посмотрел на свою формулу, увидел, что бред написал, исправил в предыдущем своем посте
вдруг сейчас правильно


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеПосмотрел на свою формулу, увидел, что бред написал, исправил в предыдущем своем посте
вдруг сейчас правильно

Автор - krosav4ig
Дата добавления - 03.11.2016 в 21:53
krosav4ig Дата: Четверг, 03.11.2016, 18:02 | Сообщение № 1050 | Тема: Формула расчета рабочего времени на складе (часы, минуты)
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
здравствуйте
слепил монструозную формулу
проверяйте, вдруг правильно
Код
=МАКС(ЕСЛИ(ОТБР(E2)>ОТБР(C2);ВПР(ДЕНЬНЕД(C2;2);{1;20:6;18:7;0};2)/24;ТЕКСТ(E2;"чч:м"))+МИН(-ТЕКСТ(C2;"чч:м");-"9:");)*(ДЕНЬНЕД(C2)>1)+МАКС(СУММ(ЧИСТРАБДНИ.МЕЖД(C2+1;E2-1;{1;11;1};$J$2:$J$20)*{11;9;-9});)/24-(МИН(-ТЕКСТ(E2;"чч:мм");-"9:")+"9:")*(ДЕНЬНЕД(E2)>1)*(ОТБР(E2)>ОТБР(C2))
К сообщению приложен файл: 0765267.xls (61.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Пятница, 04.11.2016, 02:32
 
Ответить
Сообщениездравствуйте
слепил монструозную формулу
проверяйте, вдруг правильно
Код
=МАКС(ЕСЛИ(ОТБР(E2)>ОТБР(C2);ВПР(ДЕНЬНЕД(C2;2);{1;20:6;18:7;0};2)/24;ТЕКСТ(E2;"чч:м"))+МИН(-ТЕКСТ(C2;"чч:м");-"9:");)*(ДЕНЬНЕД(C2)>1)+МАКС(СУММ(ЧИСТРАБДНИ.МЕЖД(C2+1;E2-1;{1;11;1};$J$2:$J$20)*{11;9;-9});)/24-(МИН(-ТЕКСТ(E2;"чч:мм");-"9:")+"9:")*(ДЕНЬНЕД(E2)>1)*(ОТБР(E2)>ОТБР(C2))

Автор - krosav4ig
Дата добавления - 03.11.2016 в 18:02
krosav4ig Дата: Среда, 02.11.2016, 19:58 | Сообщение № 1051 | Тема: Подсчет уникальных значений по двум условиям
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
а у мну немассивная получилась
Код
=СУММПРОИЗВ(АГРЕГАТ(15;6;1/СЧЁТЕСЛИМН(A$2:A$29;A$2:A$29;B$2:B$29;B$2:B$29;C$2:C$29;(C$2:C$29=C2)*C2);СТРОКА($A$1:ИНДЕКС($A:$A;СЧЁТЕСЛИМН(B$2:B$29;B2;C$2:C$29;C2)))))

тока для Excel 2010+


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Среда, 02.11.2016, 19:59
 
Ответить
Сообщениеа у мну немассивная получилась
Код
=СУММПРОИЗВ(АГРЕГАТ(15;6;1/СЧЁТЕСЛИМН(A$2:A$29;A$2:A$29;B$2:B$29;B$2:B$29;C$2:C$29;(C$2:C$29=C2)*C2);СТРОКА($A$1:ИНДЕКС($A:$A;СЧЁТЕСЛИМН(B$2:B$29;B2;C$2:C$29;C2)))))

тока для Excel 2010+

Автор - krosav4ig
Дата добавления - 02.11.2016 в 19:58
krosav4ig Дата: Понедельник, 31.10.2016, 21:52 | Сообщение № 1052 | Тема: Как узнать кто работает с файлом с общим доступом?
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
shared.xlsx - это что за книга

это имя открытой книги с общим доступом, для которой нужно получить список активных пользователей


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 31.10.2016, 21:53
 
Ответить
Сообщение
shared.xlsx - это что за книга

это имя открытой книги с общим доступом, для которой нужно получить список активных пользователей

Автор - krosav4ig
Дата добавления - 31.10.2016 в 21:52
krosav4ig Дата: Понедельник, 31.10.2016, 20:55 | Сообщение № 1053 | Тема: Выполнение макроса после изменения листа
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
упс :)
исправил


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеупс :)
исправил

Автор - krosav4ig
Дата добавления - 31.10.2016 в 20:55
krosav4ig Дата: Понедельник, 31.10.2016, 20:04 | Сообщение № 1054 | Тема: Как узнать кто работает с файлом с общим доступом?
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте
наверно как-то так
[vba]
Код
Sub dd()
    Dim wb As Workbook, uSt(), i&
    Set wb = Application.Workbooks("shared.xlsx")
    uSt = wb.UserStatus
    If UBound(uSt) < 2 Then Exit Sub
    For i = 1 To UBound(uSt)
        If uSt(i, 1) <> Application.UserName Then
            Debug.Print "пользователь " & uSt(i, 1) & " открыл книгу " & Format(uSt(i, 2), "dd.MM.yyyy hh:mm")
        End If
    Next
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеЗдравствуйте
наверно как-то так
[vba]
Код
Sub dd()
    Dim wb As Workbook, uSt(), i&
    Set wb = Application.Workbooks("shared.xlsx")
    uSt = wb.UserStatus
    If UBound(uSt) < 2 Then Exit Sub
    For i = 1 To UBound(uSt)
        If uSt(i, 1) <> Application.UserName Then
            Debug.Print "пользователь " & uSt(i, 1) & " открыл книгу " & Format(uSt(i, 2), "dd.MM.yyyy hh:mm")
        End If
    Next
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 31.10.2016 в 20:04
krosav4ig Дата: Понедельник, 31.10.2016, 19:32 | Сообщение № 1055 | Тема: Выполнение макроса после изменения листа
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
если правильно понял...
в модуль ЭтаКнига
[vba]
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim Dic As Object, K
    With Application: .ScreenUpdating = 0: .EnableEvents = 0
    With Sheets("Служебная записка")
        Set Dic = CreateObject("Scripting.Dictionary")
        Dic("начальнику ОРСА Сиротскому М.С.,") = "38:39"
        Dic("начальнику ОРПО Чекалину Л.В.,") = "42:43"
        Dic("начальнику КТО Лужецкому В.Н.,") = "46:47"
        Dic("начальнику ТО Смирнову М.Н.,") = "50:51"
        Dic("начальнику ЭТО Кондратьеву Л.В.,") = "54:55"
        Dic("начальнику ПНРиТО Хлынину М.В.,") = "58:59"
        .Range(Join(Dic.Items, ",")).EntireRow.Hidden = True
        For Each K In Dic.keys
            Select Case K
                Case .[D17], .[D18], .[D19], .[Q17], .[Q18], .[Q19]
                    .Rows(Dic(K)).Hidden = False
            End Select
        Next
        Set Dic = Nothing
    End With
    .ScreenUpdating = 1: .EnableEvents = 1: End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 31.10.2016, 20:54
 
Ответить
Сообщениеесли правильно понял...
в модуль ЭтаКнига
[vba]
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim Dic As Object, K
    With Application: .ScreenUpdating = 0: .EnableEvents = 0
    With Sheets("Служебная записка")
        Set Dic = CreateObject("Scripting.Dictionary")
        Dic("начальнику ОРСА Сиротскому М.С.,") = "38:39"
        Dic("начальнику ОРПО Чекалину Л.В.,") = "42:43"
        Dic("начальнику КТО Лужецкому В.Н.,") = "46:47"
        Dic("начальнику ТО Смирнову М.Н.,") = "50:51"
        Dic("начальнику ЭТО Кондратьеву Л.В.,") = "54:55"
        Dic("начальнику ПНРиТО Хлынину М.В.,") = "58:59"
        .Range(Join(Dic.Items, ",")).EntireRow.Hidden = True
        For Each K In Dic.keys
            Select Case K
                Case .[D17], .[D18], .[D19], .[Q17], .[Q18], .[Q19]
                    .Rows(Dic(K)).Hidden = False
            End Select
        Next
        Set Dic = Nothing
    End With
    .ScreenUpdating = 1: .EnableEvents = 1: End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 31.10.2016 в 19:32
krosav4ig Дата: Воскресенье, 30.10.2016, 18:39 | Сообщение № 1056 | Тема: Как табелировать сотрудников автоматичкски
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
как работает функция ЕСЛИОШИБКА() в xls

AlexM, Нормально так себе работает, если xls открыт в excel 2007+


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
как работает функция ЕСЛИОШИБКА() в xls

AlexM, Нормально так себе работает, если xls открыт в excel 2007+

Автор - krosav4ig
Дата добавления - 30.10.2016 в 18:39
krosav4ig Дата: Суббота, 29.10.2016, 21:58 | Сообщение № 1057 | Тема: Удаление содержимого яч и умножение на число из содержимого
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
объединенные ячейки

это зло
заменяет точки на запятые

а это ужо я немного накосячил, в строке[vba]
Код
.Formula = Parent.Substitute(arr, ".", Parent.DecimalSeparator)
[/vba] сделал замену на десятичный резделитель
[vba]
Код
Sub dd()
10  On Error GoTo Er
    Dim arr As Variant, arr1 As Variant, i&, s$
20  With [A1].CurrentRegion
30      With Intersect(.Columns("D").Offset(5), .EntireRow)
40          arr = .Value: arr1 = .Offset(, 1).Formula
50          With CreateObject("vbscript.regexp")
60              .Pattern = "([0-9]+)?(\s?\S+).*"
70              For i = 1 To UBound(arr)
80                  If .test(arr(i, 1)) Then
90                      s = "=trim(""$2 ""& 0" & arr1(i, 1) & "*text(0$1,""0;;1""))"
100                     arr(i, 1) = Evaluate(.Replace(arr(i, 1), s))
110                 Else: arr(i, 1) = " "
120                 End If
130             Next
140         End With
150         Parent.ScreenUpdating = False: Parent.DisplayAlerts = False
160         .Value = Parent.ReplaceB(arr, Parent.Search(" ", arr), 999, "")
170         .Offset(, 1).Formula = Parent.ReplaceB(arr, 1, Parent.Search(" ", arr), "")
180         Parent.DisplayAlerts = True: Parent.ScreenUpdating = True
190     End With
200   End With
210 Exit Sub
Er:
220 Parent.DisplayAlerts = True: Parent.ScreenUpdating = True
230 With Parent.VBE.MainWindow.LinkedWindows
240     .Add Parent.VBE.Windows("Immediate")
250     .Add Parent.VBE.Windows("Locals")
260 End With
    'Application.VBE.Windows("Immediate").Visible = True
    'Application.VBE.Windows("Locals").Visible = True
270 Debug.Print "Ошибка " & Err.Number & " (" & Err.Description & ") на строке " & Erl
280 Stop
290 Err.Clear
300 Resume Next
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Суббота, 29.10.2016, 22:04
 
Ответить
Сообщение
объединенные ячейки

это зло
заменяет точки на запятые

а это ужо я немного накосячил, в строке[vba]
Код
.Formula = Parent.Substitute(arr, ".", Parent.DecimalSeparator)
[/vba] сделал замену на десятичный резделитель
[vba]
Код
Sub dd()
10  On Error GoTo Er
    Dim arr As Variant, arr1 As Variant, i&, s$
20  With [A1].CurrentRegion
30      With Intersect(.Columns("D").Offset(5), .EntireRow)
40          arr = .Value: arr1 = .Offset(, 1).Formula
50          With CreateObject("vbscript.regexp")
60              .Pattern = "([0-9]+)?(\s?\S+).*"
70              For i = 1 To UBound(arr)
80                  If .test(arr(i, 1)) Then
90                      s = "=trim(""$2 ""& 0" & arr1(i, 1) & "*text(0$1,""0;;1""))"
100                     arr(i, 1) = Evaluate(.Replace(arr(i, 1), s))
110                 Else: arr(i, 1) = " "
120                 End If
130             Next
140         End With
150         Parent.ScreenUpdating = False: Parent.DisplayAlerts = False
160         .Value = Parent.ReplaceB(arr, Parent.Search(" ", arr), 999, "")
170         .Offset(, 1).Formula = Parent.ReplaceB(arr, 1, Parent.Search(" ", arr), "")
180         Parent.DisplayAlerts = True: Parent.ScreenUpdating = True
190     End With
200   End With
210 Exit Sub
Er:
220 Parent.DisplayAlerts = True: Parent.ScreenUpdating = True
230 With Parent.VBE.MainWindow.LinkedWindows
240     .Add Parent.VBE.Windows("Immediate")
250     .Add Parent.VBE.Windows("Locals")
260 End With
    'Application.VBE.Windows("Immediate").Visible = True
    'Application.VBE.Windows("Locals").Visible = True
270 Debug.Print "Ошибка " & Err.Number & " (" & Err.Description & ") на строке " & Erl
280 Stop
290 Err.Clear
300 Resume Next
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 29.10.2016 в 21:58
krosav4ig Дата: Суббота, 29.10.2016, 15:54 | Сообщение № 1058 | Тема: Можно ли в элемент надпись ввести несколько строк
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
В надписях работает Shift+Enter (не на numpad)
если макросом, перевод строки это chr(11)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеВ надписях работает Shift+Enter (не на numpad)
если макросом, перевод строки это chr(11)

Автор - krosav4ig
Дата добавления - 29.10.2016 в 15:54
krosav4ig Дата: Суббота, 29.10.2016, 04:56 | Сообщение № 1059 | Тема: Указатель мыши в точку координат курсора
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
курсор

что конкретно понимаете под этим словом?
GetCursorPos определяет XY координаты указателя мыши относительно верхнего левого угла рабочего стола(экрана)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Суббота, 29.10.2016, 04:59
 
Ответить
Сообщение
курсор

что конкретно понимаете под этим словом?
GetCursorPos определяет XY координаты указателя мыши относительно верхнего левого угла рабочего стола(экрана)

Автор - krosav4ig
Дата добавления - 29.10.2016 в 04:56
krosav4ig Дата: Суббота, 29.10.2016, 04:46 | Сообщение № 1060 | Тема: Текст в Base64 изображение
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте
Задачка непростая

ну даж ненаю...
с расшифровкой и записью в файл и получением base64 все просто
[vba]
Код
Sub Base64ToFile(Hash$, FilePath$) 'расшифровка base64 и запись в файл
    Dim ByteArr() As Byte
    With CreateObject("MSXML2.DOMDocument").createElement("b64")
        .DataType = "bin.base64"
        .Text = Hash
        ByteArr = .nodeTypedValue
    End With
    Open FilePath For Binary Access Write As #1
    Put #1, 1, ByteArr
    Close #1
End Sub
[/vba]
[vba]
Код
Function Base64FromFile$(FilePath$) 'получение base64 файла
    Dim ByteArr() As Byte
    Open FilePath For Binary Access Read As #1
    ReDim ByteArr(LOF(1))
    Get #1, 1, ByteArr
    Close #1
    With CreateObject("MSXML2.DOMDocument").createElement("b64")
        .DataType = "bin.base64"
        .nodeTypedValue = ByteArr
        Base64FromFile = .Text
    End With
End Function
[/vba]
а вот тут что-то непонятно
переводить текст в изображение


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Суббота, 29.10.2016, 23:38
 
Ответить
СообщениеЗдравствуйте
Задачка непростая

ну даж ненаю...
с расшифровкой и записью в файл и получением base64 все просто
[vba]
Код
Sub Base64ToFile(Hash$, FilePath$) 'расшифровка base64 и запись в файл
    Dim ByteArr() As Byte
    With CreateObject("MSXML2.DOMDocument").createElement("b64")
        .DataType = "bin.base64"
        .Text = Hash
        ByteArr = .nodeTypedValue
    End With
    Open FilePath For Binary Access Write As #1
    Put #1, 1, ByteArr
    Close #1
End Sub
[/vba]
[vba]
Код
Function Base64FromFile$(FilePath$) 'получение base64 файла
    Dim ByteArr() As Byte
    Open FilePath For Binary Access Read As #1
    ReDim ByteArr(LOF(1))
    Get #1, 1, ByteArr
    Close #1
    With CreateObject("MSXML2.DOMDocument").createElement("b64")
        .DataType = "bin.base64"
        .nodeTypedValue = ByteArr
        Base64FromFile = .Text
    End With
End Function
[/vba]
а вот тут что-то непонятно
переводить текст в изображение

Автор - krosav4ig
Дата добавления - 29.10.2016 в 04:46
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2026 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!