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

Вход

Регистрация

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

 

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

Результаты поиска
krosav4ig Дата: Вторник, 30.07.2019, 23:51 | Сообщение № 2101 | Тема: копирование имени листа в каждую непустую строку
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Добрый вечер
[vba]
Код
Sub sdf()
    Dim v As Variant, ar As Range
    On Error Resume Next
    With ActiveSheet.UsedRange
        With Intersect(.Offset(4 - .Row), .Cells)
            For Each v In Array(xlCellTypeFormulas, xlCellTypeConstants)
                For Each ar In .SpecialCells(v, 23).EntireRow.Areas
                    Intersect(ar, .Parent.[B:B]).Value = .Parent.Name
            Next ar, v
        End With
    End With
End Sub
[/vba]


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

Сообщение отредактировал krosav4ig - Вторник, 30.07.2019, 23:52
 
Ответить
СообщениеДобрый вечер
[vba]
Код
Sub sdf()
    Dim v As Variant, ar As Range
    On Error Resume Next
    With ActiveSheet.UsedRange
        With Intersect(.Offset(4 - .Row), .Cells)
            For Each v In Array(xlCellTypeFormulas, xlCellTypeConstants)
                For Each ar In .SpecialCells(v, 23).EntireRow.Areas
                    Intersect(ar, .Parent.[B:B]).Value = .Parent.Name
            Next ar, v
        End With
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 30.07.2019 в 23:51
krosav4ig Дата: Среда, 31.07.2019, 00:12 | Сообщение № 2102 | Тема: Сопоставление и группировка двух диапазонов данных
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
WERDART, у вас на листе ресурс 2 таблица не растянулась на столбец 8
[vba]
Код
let
    fn=(t)=>let
        Col     = Table.ColumnNames(t),
        GroupBy = List.RemoveMatchingItems(Col,{Col{1},Col{5}}),
        List    = {{Col{1}, each Text.Combine(List.Transform(Table.Column(_,Col{1}),Text.From),",")},
                   {Col{5}, each List.Sum(Table.Column(_,Col{5}))}}
    in Table.ReorderColumns(Table.Group(t,GroupBy,List),Col),    
    Source    = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    Source1   = Excel.CurrentWorkbook(){[Name="Таблица2"]}[Content],
    Merge     = Table.NestedJoin(fn(Source),{"Столбец1","Столбец4","Столбец8"},fn(Source1),{"Столбец1","Столбец4","Столбец8"},"2",3),
    Group     = Table.Group(Merge, {"2"}, {{"1", each Table.RemoveColumns(_,{"2"}), type table}})[[1],[2]],
    Transform = Table.FromRecords(Table.TransformRows(Group,(r)=>
                    Record.TransformFields(r,{
                        {"1",each Table.ReplaceValue(_,null,r[2]{0}[Столбец1],Replacer.ReplaceValue,{"Столбец1"})},
                        {"2",each Table.ReplaceValue(_,null,r[1]{0}[Столбец1],Replacer.ReplaceValue,{"Столбец1"})}
                    }))),
    ColN      = List.Zip(List.Transform(Table.ColumnNames(Source),each {_,"1."&_,"2."&_})),
    Result    = Table.ExpandTableColumn(Table.ExpandTableColumn(Transform, "1", ColN{0}, ColN{1}),"2", ColN{0}, ColN{2})
in
    Result
[/vba]
К сообщению приложен файл: 5678766.xlsx (37.7 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеWERDART, у вас на листе ресурс 2 таблица не растянулась на столбец 8
[vba]
Код
let
    fn=(t)=>let
        Col     = Table.ColumnNames(t),
        GroupBy = List.RemoveMatchingItems(Col,{Col{1},Col{5}}),
        List    = {{Col{1}, each Text.Combine(List.Transform(Table.Column(_,Col{1}),Text.From),",")},
                   {Col{5}, each List.Sum(Table.Column(_,Col{5}))}}
    in Table.ReorderColumns(Table.Group(t,GroupBy,List),Col),    
    Source    = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    Source1   = Excel.CurrentWorkbook(){[Name="Таблица2"]}[Content],
    Merge     = Table.NestedJoin(fn(Source),{"Столбец1","Столбец4","Столбец8"},fn(Source1),{"Столбец1","Столбец4","Столбец8"},"2",3),
    Group     = Table.Group(Merge, {"2"}, {{"1", each Table.RemoveColumns(_,{"2"}), type table}})[[1],[2]],
    Transform = Table.FromRecords(Table.TransformRows(Group,(r)=>
                    Record.TransformFields(r,{
                        {"1",each Table.ReplaceValue(_,null,r[2]{0}[Столбец1],Replacer.ReplaceValue,{"Столбец1"})},
                        {"2",each Table.ReplaceValue(_,null,r[1]{0}[Столбец1],Replacer.ReplaceValue,{"Столбец1"})}
                    }))),
    ColN      = List.Zip(List.Transform(Table.ColumnNames(Source),each {_,"1."&_,"2."&_})),
    Result    = Table.ExpandTableColumn(Table.ExpandTableColumn(Transform, "1", ColN{0}, ColN{1}),"2", ColN{0}, ColN{2})
in
    Result
[/vba]

Автор - krosav4ig
Дата добавления - 31.07.2019 в 00:12
krosav4ig Дата: Среда, 31.07.2019, 01:24 | Сообщение № 2103 | Тема: объединенные ячейки для макроса
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
%)
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim r As Range
    On Error Resume Next
    For Each r In Target.Rows
        With r.Cells(1, 1)
            If Not Intersect([$X$13:$X$18], .Cells) Is Nothing Then
                .Offset(1).EntireRow.Hidden = (.Value = "")
                For Each v In Array(Array("Заявление на деньги", 50), _
                    Array("Маршрутный лист", 7), _
                    Array("СЗ по прибытию", 11), _
                    Array("Авансовый отчет", 12))
                    xx(Evaluate("'" & v(0) & "'!A1"), .Row - 12, v(1)).Hidden = (.Value = "")
                Next
            End If
        End With
    Next
End Sub
Function xx(ByRef r As Range, i, n) As Range
    Set xx = r.Offset(, i * n).Resize(, n).EntireColumn
End Function
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение%)
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim r As Range
    On Error Resume Next
    For Each r In Target.Rows
        With r.Cells(1, 1)
            If Not Intersect([$X$13:$X$18], .Cells) Is Nothing Then
                .Offset(1).EntireRow.Hidden = (.Value = "")
                For Each v In Array(Array("Заявление на деньги", 50), _
                    Array("Маршрутный лист", 7), _
                    Array("СЗ по прибытию", 11), _
                    Array("Авансовый отчет", 12))
                    xx(Evaluate("'" & v(0) & "'!A1"), .Row - 12, v(1)).Hidden = (.Value = "")
                Next
            End If
        End With
    Next
End Sub
Function xx(ByRef r As Range, i, n) As Range
    Set xx = r.Offset(, i * n).Resize(, n).EntireColumn
End Function
[/vba]

Автор - krosav4ig
Дата добавления - 31.07.2019 в 01:24
krosav4ig Дата: Пятница, 02.08.2019, 00:36 | Сообщение № 2104 | Тема: Дезактивация функции
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
В модуле функция из здесь [vba]
Код
#If VBA7 <> 1 Then
    Function ЕСЛИОШИБКА(ByVal проверяемое_значение As Variant, ByVal значение_если_ошибка As Variant) As Variant
    Dim i As Long, j As Long
        If IsArray(проверяемое_значение) Then
            On Error Resume Next
            j = UBound(проверяемое_значение, 2)
            If Err Then
                Err.Clear
                For i = 1 To UBound(проверяемое_значение)
                    If IsError(проверяемое_значение(i)) Then проверяемое_значение(i) = значение_если_ошибка
                Next
            Else
                For i = 1 To UBound(проверяемое_значение)
                    For j = 1 To UBound(проверяемое_значение, 2)
                        If IsError(проверяемое_значение(i, j)) Then проверяемое_значение(i, j) = значение_если_ошибка
                    Next
                Next
            End If
        Else
            If IsError(проверяемое_значение) Then проверяемое_значение = значение_если_ошибка
        End If
        ЕСЛИОШИБКА = проверяемое_значение
    End Function
#End If
[/vba]
+ xlm функция-обертка _xlfn.IFERROR на листе макросов
[vba]
Код
=АРГУМЕНТ("a";95)*АРГУМЕНТ("b";95)*РЕЗУЛЬТ(95)
=ВОЗВРАТ(ВЫЧИСЛИТЬ("еслиошибка(a;b)"))
[/vba]
К сообщению приложен файл: 9350444.xls (35.5 Kb)


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

Сообщение отредактировал krosav4ig - Пятница, 02.08.2019, 03:51
 
Ответить
СообщениеВ модуле функция из здесь [vba]
Код
#If VBA7 <> 1 Then
    Function ЕСЛИОШИБКА(ByVal проверяемое_значение As Variant, ByVal значение_если_ошибка As Variant) As Variant
    Dim i As Long, j As Long
        If IsArray(проверяемое_значение) Then
            On Error Resume Next
            j = UBound(проверяемое_значение, 2)
            If Err Then
                Err.Clear
                For i = 1 To UBound(проверяемое_значение)
                    If IsError(проверяемое_значение(i)) Then проверяемое_значение(i) = значение_если_ошибка
                Next
            Else
                For i = 1 To UBound(проверяемое_значение)
                    For j = 1 To UBound(проверяемое_значение, 2)
                        If IsError(проверяемое_значение(i, j)) Then проверяемое_значение(i, j) = значение_если_ошибка
                    Next
                Next
            End If
        Else
            If IsError(проверяемое_значение) Then проверяемое_значение = значение_если_ошибка
        End If
        ЕСЛИОШИБКА = проверяемое_значение
    End Function
#End If
[/vba]
+ xlm функция-обертка _xlfn.IFERROR на листе макросов
[vba]
Код
=АРГУМЕНТ("a";95)*АРГУМЕНТ("b";95)*РЕЗУЛЬТ(95)
=ВОЗВРАТ(ВЫЧИСЛИТЬ("еслиошибка(a;b)"))
[/vba]

Автор - krosav4ig
Дата добавления - 02.08.2019 в 00:36
krosav4ig Дата: Пятница, 02.08.2019, 22:26 | Сообщение № 2105 | Тема: Закраска разделов документа word, с учетом текста строки
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Lizard, и чем содержимое этого файла отличается от файла из первого поста?


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеLizard, и чем содержимое этого файла отличается от файла из первого поста?

Автор - krosav4ig
Дата добавления - 02.08.2019 в 22:26
krosav4ig Дата: Суббота, 03.08.2019, 06:19 | Сообщение № 2106 | Тема: Динамическое название диаграммы
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
выделяем ячейку (любую)
жмем Ctrl+F3 , жмем Создать
пишем имя, например, xx , жмем ОК, Закрыть
в заголовке диаграммы ссылаемся на созданное имя
Код
='имя книги.xls'xx

жмем Ctrl+F3, выделяем созданное имя, заменяем в поле Диапазон ссылку на свою формулу
жмем Enter, Закрыть
Profit!
К сообщению приложен файл: 5559777.xls (33.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениевыделяем ячейку (любую)
жмем Ctrl+F3 , жмем Создать
пишем имя, например, xx , жмем ОК, Закрыть
в заголовке диаграммы ссылаемся на созданное имя
Код
='имя книги.xls'xx

жмем Ctrl+F3, выделяем созданное имя, заменяем в поле Диапазон ссылку на свою формулу
жмем Enter, Закрыть
Profit!

Автор - krosav4ig
Дата добавления - 03.08.2019 в 06:19
krosav4ig Дата: Воскресенье, 04.08.2019, 11:58 | Сообщение № 2107 | Тема: Значение ячейки при одних буквах, но цифра из другой ячейки.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Добрый день
Код
=ИНДЕКС($A$A;$B$1)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеДобрый день
Код
=ИНДЕКС($A$A;$B$1)

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

Excel 2007,2010,2013
Здравствуйте
[vba]
Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;СИМВОЛ(13);); "</p><p>Если Вам";"</p>"&A2&"<p>Если Вам")
[/vba]


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

Сообщение отредактировал krosav4ig - Воскресенье, 04.08.2019, 12:04
 
Ответить
СообщениеЗдравствуйте
[vba]
Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;СИМВОЛ(13);); "</p><p>Если Вам";"</p>"&A2&"<p>Если Вам")
[/vba]

Автор - krosav4ig
Дата добавления - 04.08.2019 в 12:00
krosav4ig Дата: Воскресенье, 04.08.2019, 19:03 | Сообщение № 2109 | Тема: вернуть значение без нуля стоящего впереди
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Если вдруг фиг знает сколько значные номера появятся
Код
=--СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3;B3&"№";)," ";"         ");1;9))

[p.s.] писал с андроида, если вдруг чего, эт не я, эт телефон накосячил :)
К сообщению приложен файл: 1082584.xlsx (7.7 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеЕсли вдруг фиг знает сколько значные номера появятся
Код
=--СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3;B3&"№";)," ";"         ");1;9))

[p.s.] писал с андроида, если вдруг чего, эт не я, эт телефон накосячил :)

Автор - krosav4ig
Дата добавления - 04.08.2019 в 19:03
krosav4ig Дата: Понедельник, 05.08.2019, 18:53 | Сообщение № 2110 | Тема: Закраска разделов документа word, с учетом текста строки
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
у меня в word 2003, 2007, 2010, 2013 отрабатывает без ошибок
раскрашенные файлы прилагаю

upd.
немного переписал код
пробуйте так
[vba]
Код

Sub colorize()
          Dim p As Paragraph, prev&, b As Boolean
1         On Error GoTo colorize_Error

11        Application.ScreenUpdating = 0
21        With CreateObject("vbscript.regexp")
31            .Global = False: .Pattern = "^\d+\.\d+\s"
41            For Each p In ThisDocument.Paragraphs
51                If p.Next Is Nothing Then
61                    If .test(p.Range.Text) Then
71                        p.Range.HighlightColorIndex = IIf(b, 3, 7)
81                    ElseIf prev > 0 Then
91                        p.Parent.Range(prev - 1, p.Range.End).HighlightColorIndex = IIf(b, 3, 7)
101                   End If
111               ElseIf .test(p.Range.Text) Then
121                   If prev > 0 Then
131                       p.Parent.Range(prev - 1, p.Previous.Range.End).HighlightColorIndex = IIf(b, 3, 7)
141                   End If
151                   b = Not b
161                   prev = p.Range.Start + 1
171               End If
181           Next
191       End With
201       Application.ScreenUpdating = 1
211       On Error GoTo 0
221       Exit Sub
colorize_Error:
231       MsgBox "Error " & Err.Number & " (" & Err.Description & _
              ") in procedure colorize of VBA Document ThisDocument on line " & Erl & vbLf & _
              "paragraphs.count: " & Paragraphs.Count & ",  current paragraph: " & Range(0, _
              p.Range.End).Paragraphs.Count
End Sub
[/vba]
К сообщению приложен файл: 111-.zip (40.0 Kb)


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

Сообщение отредактировал krosav4ig - Понедельник, 05.08.2019, 19:58
 
Ответить
Сообщениеу меня в word 2003, 2007, 2010, 2013 отрабатывает без ошибок
раскрашенные файлы прилагаю

upd.
немного переписал код
пробуйте так
[vba]
Код

Sub colorize()
          Dim p As Paragraph, prev&, b As Boolean
1         On Error GoTo colorize_Error

11        Application.ScreenUpdating = 0
21        With CreateObject("vbscript.regexp")
31            .Global = False: .Pattern = "^\d+\.\d+\s"
41            For Each p In ThisDocument.Paragraphs
51                If p.Next Is Nothing Then
61                    If .test(p.Range.Text) Then
71                        p.Range.HighlightColorIndex = IIf(b, 3, 7)
81                    ElseIf prev > 0 Then
91                        p.Parent.Range(prev - 1, p.Range.End).HighlightColorIndex = IIf(b, 3, 7)
101                   End If
111               ElseIf .test(p.Range.Text) Then
121                   If prev > 0 Then
131                       p.Parent.Range(prev - 1, p.Previous.Range.End).HighlightColorIndex = IIf(b, 3, 7)
141                   End If
151                   b = Not b
161                   prev = p.Range.Start + 1
171               End If
181           Next
191       End With
201       Application.ScreenUpdating = 1
211       On Error GoTo 0
221       Exit Sub
colorize_Error:
231       MsgBox "Error " & Err.Number & " (" & Err.Description & _
              ") in procedure colorize of VBA Document ThisDocument on line " & Erl & vbLf & _
              "paragraphs.count: " & Paragraphs.Count & ",  current paragraph: " & Range(0, _
              p.Range.End).Paragraphs.Count
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 05.08.2019 в 18:53
krosav4ig Дата: Понедельник, 05.08.2019, 20:23 | Сообщение № 2111 | Тема: Kонвертация Power Point в Pdf
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
при нажатии кнопок Alt+ЕМБ
при последовательном нажатии - открывает только вкладку Tools
надо было жать не в окне vbe, а в окне книги
но вот у меня в ENG варианте оно другое

ну да, в ENG это Alt+TMS


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
при нажатии кнопок Alt+ЕМБ
при последовательном нажатии - открывает только вкладку Tools
надо было жать не в окне vbe, а в окне книги
но вот у меня в ENG варианте оно другое

ну да, в ENG это Alt+TMS

Автор - krosav4ig
Дата добавления - 05.08.2019 в 20:23
krosav4ig Дата: Вторник, 06.08.2019, 23:26 | Сообщение № 2112 | Тема: Добавление листов в коллекцию
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте
наваял что-то такое, но не работает
а должно?[vba]
Код
Dim sh As Worksheet
    For Each sh In Sheets(Array("Лист3", "Лист4"))
        With sh.UsedRange.Interior
            If .Color = vbRed Then .Color = vbBlue Else .Color = vbRed
        End With
    Next
[/vba]


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

Сообщение отредактировал krosav4ig - Вторник, 06.08.2019, 23:26
 
Ответить
СообщениеЗдравствуйте
наваял что-то такое, но не работает
а должно?[vba]
Код
Dim sh As Worksheet
    For Each sh In Sheets(Array("Лист3", "Лист4"))
        With sh.UsedRange.Interior
            If .Color = vbRed Then .Color = vbBlue Else .Color = vbRed
        End With
    Next
[/vba]

Автор - krosav4ig
Дата добавления - 06.08.2019 в 23:26
krosav4ig Дата: Четверг, 08.08.2019, 17:34 | Сообщение № 2113 | Тема: Добавление листов в коллекцию
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[vba]
Код
Option Explicit
Function UsedRangeByCodeName(sCodeName$) As Range
    Set UsedRangeByCodeName = ThisWorkbook.VBProject. _
        VBComponents(sCodeName). _
        Properties("usedrange").Object
End Function
Sub test()
    Dim MyCollection As New Collection
    Dim v, r As Range, r1 As Range, r2 As Range, addr$
    For Each v In Array("Лист3", "Лист4")
        MyCollection.Add UsedRangeByCodeName(CStr(v)), v
    Next
    With Application.FindFormat
        .Clear
        With .Interior
            .PatternColorIndex = xlAutomatic
            .Color = vbBlue
            .TintAndShade = 0
            .PatternTintAndShade = 0
        End With
    End With
    For Each r In MyCollection
        Set r1 = r.Find(What:="", After:=r(1, 1), LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=True)
        If Not r1 Is Nothing Then
            addr = r1.Address
            Set r2 = r1
            Do
                If r1.Address <> addr Then Set r2 = Union(r2, r1)
                Set r1 = r.Find(What:="", After:=r1, LookIn:=xlFormulas, LookAt:= _
                    xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
                    , SearchFormat:=True)
            Loop While Not r1 Is Nothing And r1.Address <> addr
        End If
        If Not r2 Is Nothing Then r2.Interior.Color = 255: Set r2 = Nothing
    Next
End Sub
[/vba]


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

Сообщение отредактировал krosav4ig - Четверг, 08.08.2019, 17:57
 
Ответить
Сообщение[vba]
Код
Option Explicit
Function UsedRangeByCodeName(sCodeName$) As Range
    Set UsedRangeByCodeName = ThisWorkbook.VBProject. _
        VBComponents(sCodeName). _
        Properties("usedrange").Object
End Function
Sub test()
    Dim MyCollection As New Collection
    Dim v, r As Range, r1 As Range, r2 As Range, addr$
    For Each v In Array("Лист3", "Лист4")
        MyCollection.Add UsedRangeByCodeName(CStr(v)), v
    Next
    With Application.FindFormat
        .Clear
        With .Interior
            .PatternColorIndex = xlAutomatic
            .Color = vbBlue
            .TintAndShade = 0
            .PatternTintAndShade = 0
        End With
    End With
    For Each r In MyCollection
        Set r1 = r.Find(What:="", After:=r(1, 1), LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=True)
        If Not r1 Is Nothing Then
            addr = r1.Address
            Set r2 = r1
            Do
                If r1.Address <> addr Then Set r2 = Union(r2, r1)
                Set r1 = r.Find(What:="", After:=r1, LookIn:=xlFormulas, LookAt:= _
                    xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
                    , SearchFormat:=True)
            Loop While Not r1 Is Nothing And r1.Address <> addr
        End If
        If Not r2 Is Nothing Then r2.Interior.Color = 255: Set r2 = Nothing
    Next
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 08.08.2019 в 17:34
krosav4ig Дата: Суббота, 10.08.2019, 23:57 | Сообщение № 2114 | Тема: Построение квадрата Ганна 9
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Доброго времени суток.
325 без =
как сократить пока мыслей нет


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеДоброго времени суток.
325 без =
как сократить пока мыслей нет

Автор - krosav4ig
Дата добавления - 10.08.2019 в 23:57
krosav4ig Дата: Воскресенье, 11.08.2019, 06:26 | Сообщение № 2115 | Тема: Сортировка списка
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте
Данные -> Сортировка
К сообщению приложен файл: 0607300.png (53.6 Kb) · 0-5_.xls (88.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеЗдравствуйте
Данные -> Сортировка

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

Excel 2007,2010,2013


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеЗдравствуйте
Swiss Pairing algorithm in excel to organize a chess tournament

Автор - krosav4ig
Дата добавления - 11.08.2019 в 21:47
krosav4ig Дата: Понедельник, 12.08.2019, 22:21 | Сообщение № 2117 | Тема: Исчезновение(обнуление) данных из ячейки
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте,
мышка пробежала, хвостиком махнула, Delete нажала


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеЗдравствуйте,
мышка пробежала, хвостиком махнула, Delete нажала

Автор - krosav4ig
Дата добавления - 12.08.2019 в 22:21
krosav4ig Дата: Четверг, 15.08.2019, 07:47 | Сообщение № 2118 | Тема: Обход ограничения на кол-во символов в ячейке
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
тупо делим на куски по 5к символов
[vba]
Код
function commas() {
var key = 'api';
var secret = 'secret';

var baseUrl = "https://exchange.com";
var endPoint = "/public/api/ver1/smart_trades";
var pointParams = "?account_id=xxx&scope=finished";
var queryString = endPoint + pointParams;
var signature = Utilities.computeHmacSha256Signature(queryString, secret);
signature = signature.map(function(e) {return ("0" + (e < 0 ? e + 256 : e).toString(16)).slice(-2)}).join("");

var hparams = {
    'method': 'get',
    'headers': {'APIKEY': key,
                'Signature': signature},
    'muteHttpExceptions': true
};

var data = chunk(UrlFetchApp.fetch(baseUrl + queryString , hparams).getContentText(),5000);
Logger.log(data)
var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheetByName("rates");
var raw = sheet.getRange(13,1).offset(0, 0, data.length).setValue(data)
}
function chunk(a,b){
  return Array.apply(null, new Array(Math.ceil(a.length/b))).
  map(function (c, d) {return [a.substr(d*b,b)];});
}
[/vba]или делим строку по скобкам [vba]
Код
var data = BtwBraces(UrlFetchApp.fetch(baseUrl + queryString , hparams).getContentText());
[/vba]
[vba]
Код
function BtwBraces(a){
  return a.split(/[{}]/g).
  filter(function(a){return a;}).
  map(function (a){return [a];})
}
[/vba]


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

Сообщение отредактировал krosav4ig - Четверг, 15.08.2019, 07:47
 
Ответить
Сообщениетупо делим на куски по 5к символов
[vba]
Код
function commas() {
var key = 'api';
var secret = 'secret';

var baseUrl = "https://exchange.com";
var endPoint = "/public/api/ver1/smart_trades";
var pointParams = "?account_id=xxx&scope=finished";
var queryString = endPoint + pointParams;
var signature = Utilities.computeHmacSha256Signature(queryString, secret);
signature = signature.map(function(e) {return ("0" + (e < 0 ? e + 256 : e).toString(16)).slice(-2)}).join("");

var hparams = {
    'method': 'get',
    'headers': {'APIKEY': key,
                'Signature': signature},
    'muteHttpExceptions': true
};

var data = chunk(UrlFetchApp.fetch(baseUrl + queryString , hparams).getContentText(),5000);
Logger.log(data)
var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheetByName("rates");
var raw = sheet.getRange(13,1).offset(0, 0, data.length).setValue(data)
}
function chunk(a,b){
  return Array.apply(null, new Array(Math.ceil(a.length/b))).
  map(function (c, d) {return [a.substr(d*b,b)];});
}
[/vba]или делим строку по скобкам [vba]
Код
var data = BtwBraces(UrlFetchApp.fetch(baseUrl + queryString , hparams).getContentText());
[/vba]
[vba]
Код
function BtwBraces(a){
  return a.split(/[{}]/g).
  filter(function(a){return a;}).
  map(function (a){return [a];})
}
[/vba]

Автор - krosav4ig
Дата добавления - 15.08.2019 в 07:47
krosav4ig Дата: Пятница, 16.08.2019, 00:12 | Сообщение № 2119 | Тема: Обход ограничения на кол-во символов в ячейке
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
какая у вас структура данных?
написал себе для для теста
[vba]
Код
function myFunction() {
    var ss = SpreadsheetApp.getActive();
    var sheet = ss.getSheetByName("Лист1");
    var data = BtwBraces(Array.apply(null, Array(3000)).reduce(function(a, b) {
        return a + "{" + Array.apply(null, Array(Math.floor(Math.random() * 20) + 1)).reduce(function(a, b) {
            a.push("\"" + Array.apply(null, Array(2)).reduce(function(a, b) {
                a.push(Math.random(this).toString(36).slice(2, Math.floor(Math.random() * 10) + 3));
                return a
            }, []).join("\":\"") + "\"");
            return a
        }, []).join(",") + "}"
    }, ""));
    var raw = sheet.getRange(1, 1).offset(0, 0, data.length).setValues(data);
}
function BtwBraces(a) {
    return a.split(/[{}]/g).
    filter(function(a) {return a}).
    map(function(a) {return [a]})
}
[/vba]
все нормально отабатвает


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

Сообщение отредактировал krosav4ig - Пятница, 16.08.2019, 00:14
 
Ответить
Сообщениекакая у вас структура данных?
написал себе для для теста
[vba]
Код
function myFunction() {
    var ss = SpreadsheetApp.getActive();
    var sheet = ss.getSheetByName("Лист1");
    var data = BtwBraces(Array.apply(null, Array(3000)).reduce(function(a, b) {
        return a + "{" + Array.apply(null, Array(Math.floor(Math.random() * 20) + 1)).reduce(function(a, b) {
            a.push("\"" + Array.apply(null, Array(2)).reduce(function(a, b) {
                a.push(Math.random(this).toString(36).slice(2, Math.floor(Math.random() * 10) + 3));
                return a
            }, []).join("\":\"") + "\"");
            return a
        }, []).join(",") + "}"
    }, ""));
    var raw = sheet.getRange(1, 1).offset(0, 0, data.length).setValues(data);
}
function BtwBraces(a) {
    return a.split(/[{}]/g).
    filter(function(a) {return a}).
    map(function(a) {return [a]})
}
[/vba]
все нормально отабатвает

Автор - krosav4ig
Дата добавления - 16.08.2019 в 00:12
krosav4ig Дата: Пятница, 16.08.2019, 18:54 | Сообщение № 2120 | Тема: Запись значения конкретной ячейки в заданную другую
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$B$12" Then Exit Sub
    Cells((([F15] - 1) \ 3 + 1) * 2, 4 - (([F15] - 1) Mod 3)) = Target
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$B$12" Then Exit Sub
    Cells((([F15] - 1) \ 3 + 1) * 2, 4 - (([F15] - 1) Mod 3)) = Target
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 16.08.2019 в 18:54
Поиск:

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