Результаты поиска
krosav4ig
Дата: Понедельник, 24.10.2016, 00:02 |
Сообщение № 1261 | Тема: Отобразить таблицу с первой ячейки
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
Здравствуйте Так нужно?[vba]Код
Private Sub Workbook_SheetActivate(ByVal Sh As Object) If Sh.Name <> "Лист1" Then Application.ScreenUpdating = False Select Case Sheets("Лист1").[a2] Case 1 Columns("a:k").Hidden = False Columns("l:aa").Hidden = True Columns("ab:ak").Hidden = True Case 2 Columns("a:k").Hidden = True Columns("l:aa").Hidden = False Columns("ab:ak").Hidden = True Case 3 Columns("a:k").Hidden = True Columns("l:aa").Hidden = True Columns("ab:ak").Hidden = False Case Else Columns("a:k").Hidden = False Columns("l:aa").Hidden = False Columns("ab:ak").Hidden = False End Select Application.Goto Cells.SpecialCells(12).Areas(1).Cells(1, 1), 1 Application.ScreenUpdating = True End If End Sub
[/vba] UPD Фигню спорол, исправил
Здравствуйте Так нужно?[vba]Код
Private Sub Workbook_SheetActivate(ByVal Sh As Object) If Sh.Name <> "Лист1" Then Application.ScreenUpdating = False Select Case Sheets("Лист1").[a2] Case 1 Columns("a:k").Hidden = False Columns("l:aa").Hidden = True Columns("ab:ak").Hidden = True Case 2 Columns("a:k").Hidden = True Columns("l:aa").Hidden = False Columns("ab:ak").Hidden = True Case 3 Columns("a:k").Hidden = True Columns("l:aa").Hidden = True Columns("ab:ak").Hidden = False Case Else Columns("a:k").Hidden = False Columns("l:aa").Hidden = False Columns("ab:ak").Hidden = False End Select Application.Goto Cells.SpecialCells(12).Areas(1).Cells(1, 1), 1 Application.ScreenUpdating = True End If End Sub
[/vba] UPD Фигню спорол, исправил krosav4ig
К сообщению приложен файл:
Tab1.xls
(40.0 Kb)
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Сообщение отредактировал krosav4ig - Понедельник, 24.10.2016, 00:16
Ответить
Сообщение Здравствуйте Так нужно?[vba]Код
Private Sub Workbook_SheetActivate(ByVal Sh As Object) If Sh.Name <> "Лист1" Then Application.ScreenUpdating = False Select Case Sheets("Лист1").[a2] Case 1 Columns("a:k").Hidden = False Columns("l:aa").Hidden = True Columns("ab:ak").Hidden = True Case 2 Columns("a:k").Hidden = True Columns("l:aa").Hidden = False Columns("ab:ak").Hidden = True Case 3 Columns("a:k").Hidden = True Columns("l:aa").Hidden = True Columns("ab:ak").Hidden = False Case Else Columns("a:k").Hidden = False Columns("l:aa").Hidden = False Columns("ab:ak").Hidden = False End Select Application.Goto Cells.SpecialCells(12).Areas(1).Cells(1, 1), 1 Application.ScreenUpdating = True End If End Sub
[/vba] UPD Фигню спорол, исправил Автор - krosav4ig Дата добавления - 24.10.2016 в 00:02
krosav4ig
Дата: Вторник, 25.10.2016, 18:17 |
Сообщение № 1262 | Тема: правильное копирование функции UDF в книгу макросов
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
он легко лечится и, кстати, не обязательно сохранять как надстройку, достаточно установить свойство IsAddin при открытии PERSONAL.XLSB в стандартный модуль личной книги макросов [vba]Код
Sub Auto_Open() ThisWorkbook.IsAddin = True Application.OnKey "%{F8}", "ShowMacro" End Sub Sub ShowMacro() Dim wb As Workbook Set wb = ActiveWorkbook Application.ScreenUpdating = False With ThisWorkbook .IsAddin = False wb.Activate Application.CommandBars.ExecuteMso "PlayMacro" DoEvents .IsAddin = True End With Application.ScreenUpdating = True End Sub
[/vba]и вместо тыканья по ленте жать Alt+F8
он легко лечится и, кстати, не обязательно сохранять как надстройку, достаточно установить свойство IsAddin при открытии PERSONAL.XLSB в стандартный модуль личной книги макросов [vba]Код
Sub Auto_Open() ThisWorkbook.IsAddin = True Application.OnKey "%{F8}", "ShowMacro" End Sub Sub ShowMacro() Dim wb As Workbook Set wb = ActiveWorkbook Application.ScreenUpdating = False With ThisWorkbook .IsAddin = False wb.Activate Application.CommandBars.ExecuteMso "PlayMacro" DoEvents .IsAddin = True End With Application.ScreenUpdating = True End Sub
[/vba]и вместо тыканья по ленте жать Alt+F8krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Сообщение отредактировал krosav4ig - Вторник, 25.10.2016, 18:23
Ответить
Сообщение он легко лечится и, кстати, не обязательно сохранять как надстройку, достаточно установить свойство IsAddin при открытии PERSONAL.XLSB в стандартный модуль личной книги макросов [vba]Код
Sub Auto_Open() ThisWorkbook.IsAddin = True Application.OnKey "%{F8}", "ShowMacro" End Sub Sub ShowMacro() Dim wb As Workbook Set wb = ActiveWorkbook Application.ScreenUpdating = False With ThisWorkbook .IsAddin = False wb.Activate Application.CommandBars.ExecuteMso "PlayMacro" DoEvents .IsAddin = True End With Application.ScreenUpdating = True End Sub
[/vba]и вместо тыканья по ленте жать Alt+F8Автор - krosav4ig Дата добавления - 25.10.2016 в 18:17
krosav4ig
Дата: Среда, 26.10.2016, 15:36 |
Сообщение № 1263 | Тема: правильное копирование функции UDF в книгу макросов
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
А я и не говорил, что это проще написали, что не отображаются макросы при нажатии на кнопку "Макросы" на ленте
и я написал костыль для обхода этой проблемы а если книга ужо была сохранена как надстройка, то можно убрать строку [vba]Код
ThisWorkbook.IsAddin = True
[/vba]
А я и не говорил, что это проще написали, что не отображаются макросы при нажатии на кнопку "Макросы" на ленте
и я написал костыль для обхода этой проблемы а если книга ужо была сохранена как надстройка, то можно убрать строку [vba]Код
ThisWorkbook.IsAddin = True
[/vba]krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Сообщение отредактировал krosav4ig - Среда, 26.10.2016, 15:36
Ответить
Сообщение А я и не говорил, что это проще написали, что не отображаются макросы при нажатии на кнопку "Макросы" на ленте
и я написал костыль для обхода этой проблемы а если книга ужо была сохранена как надстройка, то можно убрать строку [vba]Код
ThisWorkbook.IsAddin = True
[/vba]Автор - krosav4ig Дата добавления - 26.10.2016 в 15:36
krosav4ig
Дата: Четверг, 27.10.2016, 17:43 |
Сообщение № 1264 | Тема: Удаление содержимого яч и умножение на число из содержимого
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
до кучи [vba]Код
Sub dd() Dim arr As Variant, arr1 As Variant, i&, s$ With [A1].CurrentRegion With Intersect(.Columns("D").Offset(3), .EntireRow) arr = .Value: arr1 = .Offset(, 1).Value With CreateObject("vbscript.regexp") .Pattern = "([0-99]+)?(\s?\S+).*" For i = 1 To UBound(arr) s = "trim(""$2 ""& " & arr1(i, 1) & "*text(0$1,""0;;1""))" arr(i, 1) = Evaluate(.Replace(arr(i, 1), s)) Next End With Application.ScreenUpdating = False: Application.DisplayAlerts = False .Value = arr: .TextToColumns .Cells(1), 1, , , , , , 1 Application.DisplayAlerts = True: Application.ScreenUpdating = True End With End With End Sub
[/vba]
до кучи [vba]Код
Sub dd() Dim arr As Variant, arr1 As Variant, i&, s$ With [A1].CurrentRegion With Intersect(.Columns("D").Offset(3), .EntireRow) arr = .Value: arr1 = .Offset(, 1).Value With CreateObject("vbscript.regexp") .Pattern = "([0-99]+)?(\s?\S+).*" For i = 1 To UBound(arr) s = "trim(""$2 ""& " & arr1(i, 1) & "*text(0$1,""0;;1""))" arr(i, 1) = Evaluate(.Replace(arr(i, 1), s)) Next End With Application.ScreenUpdating = False: Application.DisplayAlerts = False .Value = arr: .TextToColumns .Cells(1), 1, , , , , , 1 Application.DisplayAlerts = True: Application.ScreenUpdating = True End With End With End Sub
[/vba] krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Сообщение отредактировал krosav4ig - Четверг, 27.10.2016, 17:48
Ответить
Сообщение до кучи [vba]Код
Sub dd() Dim arr As Variant, arr1 As Variant, i&, s$ With [A1].CurrentRegion With Intersect(.Columns("D").Offset(3), .EntireRow) arr = .Value: arr1 = .Offset(, 1).Value With CreateObject("vbscript.regexp") .Pattern = "([0-99]+)?(\s?\S+).*" For i = 1 To UBound(arr) s = "trim(""$2 ""& " & arr1(i, 1) & "*text(0$1,""0;;1""))" arr(i, 1) = Evaluate(.Replace(arr(i, 1), s)) Next End With Application.ScreenUpdating = False: Application.DisplayAlerts = False .Value = arr: .TextToColumns .Cells(1), 1, , , , , , 1 Application.DisplayAlerts = True: Application.ScreenUpdating = True End With End With End Sub
[/vba] Автор - krosav4ig Дата добавления - 27.10.2016 в 17:43
krosav4ig
Дата: Пятница, 28.10.2016, 07:36 |
Сообщение № 1265 | Тема: Расчет дат и времени окончания работ
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
Решение монстроформулой "в лоб"Код
=РАБДЕНЬ(B4;ОКРУГЛВВЕРХ((D4-K$3+C4+(C4<J$6)*(K$6-J$6))/K$3-J$3+J$6-K$6;0)*(D4>K$3-J$3+J$6-K$6);$G$3:$G$20)+J$3+ОСТАТ(D4-K$3+C4+(C4<J$6)*(K$6-J$6);K$3-J$3+J$6-K$6)+(K$3-C4-(C4<J$6)*(K$6-J$6))*(D4-K$3+C4+(C4<J$6)*(K$6-J$6)=0)+((J$3+ОСТАТ(D4-K$3+C4+(C4<J$6)*(K$6-J$6);K$3-J$3+J$6-K$6))>J$6)*(K$6-J$6)
Решение монстроформулой "в лоб"Код
=РАБДЕНЬ(B4;ОКРУГЛВВЕРХ((D4-K$3+C4+(C4<J$6)*(K$6-J$6))/K$3-J$3+J$6-K$6;0)*(D4>K$3-J$3+J$6-K$6);$G$3:$G$20)+J$3+ОСТАТ(D4-K$3+C4+(C4<J$6)*(K$6-J$6);K$3-J$3+J$6-K$6)+(K$3-C4-(C4<J$6)*(K$6-J$6))*(D4-K$3+C4+(C4<J$6)*(K$6-J$6)=0)+((J$3+ОСТАТ(D4-K$3+C4+(C4<J$6)*(K$6-J$6);K$3-J$3+J$6-K$6))>J$6)*(K$6-J$6)
krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение Решение монстроформулой "в лоб"Код
=РАБДЕНЬ(B4;ОКРУГЛВВЕРХ((D4-K$3+C4+(C4<J$6)*(K$6-J$6))/K$3-J$3+J$6-K$6;0)*(D4>K$3-J$3+J$6-K$6);$G$3:$G$20)+J$3+ОСТАТ(D4-K$3+C4+(C4<J$6)*(K$6-J$6);K$3-J$3+J$6-K$6)+(K$3-C4-(C4<J$6)*(K$6-J$6))*(D4-K$3+C4+(C4<J$6)*(K$6-J$6)=0)+((J$3+ОСТАТ(D4-K$3+C4+(C4<J$6)*(K$6-J$6);K$3-J$3+J$6-K$6))>J$6)*(K$6-J$6)
Автор - krosav4ig Дата добавления - 28.10.2016 в 07:36
krosav4ig
Дата: Пятница, 28.10.2016, 19:47 |
Сообщение № 1266 | Тема: Удаление содержимого яч и умножение на число из содержимого
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
ругается на вот эту строку arr(i, 1) = Evaluate(.Replace(arr(i, 1), s))
попробуйте вот так погонять [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 End If 120 Next 130 End With 140 Parent.ScreenUpdating = False: Parent.DisplayAlerts = False 150 .Formula = Parent.Substitute(arr, ".", Parent.DecimalSeparator) 160 .TextToColumns .Cells(1), 1, , , , , , 1 170 Parent.DisplayAlerts = True: Parent.ScreenUpdating = True 180 End With 190 End With 200 Exit Sub Er: 210 Parent.DisplayAlerts = True: Parent.ScreenUpdating = True 220 With Parent.VBE.MainWindow.LinkedWindows 230 .Add Parent.VBE.Windows("Immediate") 240 .Add Parent.VBE.Windows("Locals") 250 End With 'Application.VBE.Windows("Immediate").Visible = True 'Application.VBE.Windows("Locals").Visible = True 260 Debug.Print "Ошибка " & Err.Number & " (" & Err.Description & ") на строке " & Erl 270 Stop 280 Err.Clear 290 Resume Next End Sub
[/vba] и посмотреть, что в окошках Locals и Immediate при ошибке
ругается на вот эту строку arr(i, 1) = Evaluate(.Replace(arr(i, 1), s))
попробуйте вот так погонять [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 End If 120 Next 130 End With 140 Parent.ScreenUpdating = False: Parent.DisplayAlerts = False 150 .Formula = Parent.Substitute(arr, ".", Parent.DecimalSeparator) 160 .TextToColumns .Cells(1), 1, , , , , , 1 170 Parent.DisplayAlerts = True: Parent.ScreenUpdating = True 180 End With 190 End With 200 Exit Sub Er: 210 Parent.DisplayAlerts = True: Parent.ScreenUpdating = True 220 With Parent.VBE.MainWindow.LinkedWindows 230 .Add Parent.VBE.Windows("Immediate") 240 .Add Parent.VBE.Windows("Locals") 250 End With 'Application.VBE.Windows("Immediate").Visible = True 'Application.VBE.Windows("Locals").Visible = True 260 Debug.Print "Ошибка " & Err.Number & " (" & Err.Description & ") на строке " & Erl 270 Stop 280 Err.Clear 290 Resume Next End Sub
[/vba] и посмотреть, что в окошках Locals и Immediate при ошибкеkrosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Сообщение отредактировал krosav4ig - Пятница, 28.10.2016, 19:50
Ответить
Сообщение ругается на вот эту строку arr(i, 1) = Evaluate(.Replace(arr(i, 1), s))
попробуйте вот так погонять [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 End If 120 Next 130 End With 140 Parent.ScreenUpdating = False: Parent.DisplayAlerts = False 150 .Formula = Parent.Substitute(arr, ".", Parent.DecimalSeparator) 160 .TextToColumns .Cells(1), 1, , , , , , 1 170 Parent.DisplayAlerts = True: Parent.ScreenUpdating = True 180 End With 190 End With 200 Exit Sub Er: 210 Parent.DisplayAlerts = True: Parent.ScreenUpdating = True 220 With Parent.VBE.MainWindow.LinkedWindows 230 .Add Parent.VBE.Windows("Immediate") 240 .Add Parent.VBE.Windows("Locals") 250 End With 'Application.VBE.Windows("Immediate").Visible = True 'Application.VBE.Windows("Locals").Visible = True 260 Debug.Print "Ошибка " & Err.Number & " (" & Err.Description & ") на строке " & Erl 270 Stop 280 Err.Clear 290 Resume Next End Sub
[/vba] и посмотреть, что в окошках Locals и Immediate при ошибкеАвтор - krosav4ig Дата добавления - 28.10.2016 в 19:47
krosav4ig
Дата: Пятница, 28.10.2016, 22:05 |
Сообщение № 1267 | Тема: Как табелировать сотрудников автоматичкски
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
для вечерних часов (Z19) массивная формула Код
=СУММ(ЕСЛИОШИБКА(--ПСТР(ПОДСТАВИТЬ(F18:T20;"/";" ");ВЫБОР(ТЕКСТ(ПОИСК(1;ПОДСТАВИТЬ(F17:T19;"вч";1));"[>1]2;1");1;5);5);))
для вечерних часов (Z19) массивная формула Код
=СУММ(ЕСЛИОШИБКА(--ПСТР(ПОДСТАВИТЬ(F18:T20;"/";" ");ВЫБОР(ТЕКСТ(ПОИСК(1;ПОДСТАВИТЬ(F17:T19;"вч";1));"[>1]2;1");1;5);5);))
krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Сообщение отредактировал krosav4ig - Пятница, 28.10.2016, 22:41
Ответить
Сообщение для вечерних часов (Z19) массивная формула Код
=СУММ(ЕСЛИОШИБКА(--ПСТР(ПОДСТАВИТЬ(F18:T20;"/";" ");ВЫБОР(ТЕКСТ(ПОИСК(1;ПОДСТАВИТЬ(F17:T19;"вч";1));"[>1]2;1");1;5);5);))
Автор - krosav4ig Дата добавления - 28.10.2016 в 22:05
krosav4ig
Дата: Пятница, 28.10.2016, 22:24 |
Сообщение № 1268 | Тема: Вставка значений колонки из таблицы
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
а у нас нет ни таблицы А, ни таблицы Б, ни тем более колонок UchastokNumberтык
а у нас нет ни таблицы А, ни таблицы Б, ни тем более колонок UchastokNumberтык krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Сообщение отредактировал krosav4ig - Пятница, 28.10.2016, 22:25
Ответить
Сообщение а у нас нет ни таблицы А, ни таблицы Б, ни тем более колонок UchastokNumberтык Автор - krosav4ig Дата добавления - 28.10.2016 в 22:24
krosav4ig
Дата: Суббота, 29.10.2016, 04:46 |
Сообщение № 1269 | Тема: Текст в 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] а вот тут что-то непонятнопереводить текст в изображение
Здравствуйте ну даж ненаю... с расшифровкой и записью в файл и получением 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
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
krosav4ig
Дата: Суббота, 29.10.2016, 04:56 |
Сообщение № 1270 | Тема: Указатель мыши в точку координат курсора
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
что конкретно понимаете под этим словом? GetCursorPos определяет XY координаты указателя мыши относительно верхнего левого угла рабочего стола(экрана)
что конкретно понимаете под этим словом? GetCursorPos определяет XY координаты указателя мыши относительно верхнего левого угла рабочего стола(экрана)krosav4ig
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, 15:54 |
Сообщение № 1271 | Тема: Можно ли в элемент надпись ввести несколько строк
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
В надписях работает Shift+Enter (не на numpad) если макросом, перевод строки это chr(11)
В надписях работает Shift+Enter (не на numpad) если макросом, перевод строки это chr(11) krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение В надписях работает Shift+Enter (не на numpad) если макросом, перевод строки это chr(11) Автор - krosav4ig Дата добавления - 29.10.2016 в 15:54
krosav4ig
Дата: Суббота, 29.10.2016, 21:58 |
Сообщение № 1272 | Тема: Удаление содержимого яч и умножение на число из содержимого
Группа: Друзья
Ранг: Старожил
Сообщений: 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]
это злозаменяет точки на запятые
а это ужо я немного накосячил, в строке[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
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
Дата: Воскресенье, 30.10.2016, 18:39 |
Сообщение № 1273 | Тема: Как табелировать сотрудников автоматичкски
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
как работает функция ЕСЛИОШИБКА() в xls
AlexM , Нормально так себе работает, если xls открыт в excel 2007+
как работает функция ЕСЛИОШИБКА() в xls
AlexM , Нормально так себе работает, если xls открыт в excel 2007+krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение как работает функция ЕСЛИОШИБКА() в xls
AlexM , Нормально так себе работает, если xls открыт в excel 2007+Автор - krosav4ig Дата добавления - 30.10.2016 в 18:39
krosav4ig
Дата: Понедельник, 31.10.2016, 19:32 |
Сообщение № 1274 | Тема: Выполнение макроса после изменения листа
Группа: Друзья
Ранг: Старожил
Сообщений: 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]
если правильно понял... в модуль ЭтаКнига [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
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
Дата: Понедельник, 31.10.2016, 20:04 |
Сообщение № 1275 | Тема: Как узнать кто работает с файлом с общим доступом?
Группа: Друзья
Ранг: Старожил
Сообщений: 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]
Здравствуйте наверно как-то так [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
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, 20:55 |
Сообщение № 1276 | Тема: Выполнение макроса после изменения листа
Группа: Друзья
Ранг: Старожил
Сообщений: 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, 21:52 |
Сообщение № 1277 | Тема: Как узнать кто работает с файлом с общим доступом?
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
shared.xlsx - это что за книга
это имя открытой книги с общим доступом, для которой нужно получить список активных пользователей
shared.xlsx - это что за книга
это имя открытой книги с общим доступом, для которой нужно получить список активных пользователейkrosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Сообщение отредактировал krosav4ig - Понедельник, 31.10.2016, 21:53
Ответить
Сообщение shared.xlsx - это что за книга
это имя открытой книги с общим доступом, для которой нужно получить список активных пользователейАвтор - krosav4ig Дата добавления - 31.10.2016 в 21:52
krosav4ig
Дата: Среда, 02.11.2016, 19:58 |
Сообщение № 1278 | Тема: Подсчет уникальных значений по двум условиям
Группа: Друзья
Ранг: Старожил
Сообщений: 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+
а у мну немассивная получиласьКод
=СУММПРОИЗВ(АГРЕГАТ(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
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
Дата: Четверг, 03.11.2016, 18:02 |
Сообщение № 1279 | Тема: Формула расчета рабочего времени на складе (часы, минуты)
Группа: Друзья
Ранг: Старожил
Сообщений: 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))
здравствуйте слепил монструозную формулу проверяйте, вдруг правильноКод
=МАКС(ЕСЛИ(ОТБР(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
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
Дата: Четверг, 03.11.2016, 21:53 |
Сообщение № 1280 | Тема: Формула расчета рабочего времени на складе (часы, минуты)
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
Посмотрел на свою формулу, увидел, что бред написал, исправил в предыдущем своем посте вдруг сейчас правильно
Посмотрел на свою формулу, увидел, что бред написал, исправил в предыдущем своем посте вдруг сейчас правильно krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение Посмотрел на свою формулу, увидел, что бред написал, исправил в предыдущем своем посте вдруг сейчас правильно Автор - krosav4ig Дата добавления - 03.11.2016 в 21:53