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

Вход

Регистрация

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

 

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

Результаты поиска
krosav4ig Дата: Четверг, 22.12.2016, 01:42 | Сообщение № 1381 | Тема: Логический поиск по 3 и более критериям через INDEX и MATCH
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
для google docs вам подойдет формула
Код
=ArrayFormula(DSUM(Q$1:U$89;U$1;IF({1;0};Q$1:T$1;D21:G21)))


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениедля google docs вам подойдет формула
Код
=ArrayFormula(DSUM(Q$1:U$89;U$1;IF({1;0};Q$1:T$1;D21:G21)))

Автор - krosav4ig
Дата добавления - 22.12.2016 в 01:42
krosav4ig Дата: Суббота, 24.12.2016, 00:47 | Сообщение № 1382 | Тема: Копирование N раз всех данных в ячейке друг за другом
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
До кучи
Данные в столбце A:A, N в ячейке B1
[vba]
Код
Sub ss()
    Dim rng As Range
    With Range([A1], [A1].End(xlDown))
        Set rng = .Resize(.Count * [B1])
        .Copy rng
        With ActiveSheet.Sort
            With .SortFields
                .Clear
                .Add rng, 0, 1, , 0
            End With
            .SetRange rng: .Header = 2
            .MatchCase = 0: .Orientation = 1
            .SortMethod = 1: .Apply
        End With
    End With
End Sub
[/vba]


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

Сообщение отредактировал krosav4ig - Суббота, 24.12.2016, 03:39
 
Ответить
СообщениеДо кучи
Данные в столбце A:A, N в ячейке B1
[vba]
Код
Sub ss()
    Dim rng As Range
    With Range([A1], [A1].End(xlDown))
        Set rng = .Resize(.Count * [B1])
        .Copy rng
        With ActiveSheet.Sort
            With .SortFields
                .Clear
                .Add rng, 0, 1, , 0
            End With
            .SetRange rng: .Header = 2
            .MatchCase = 0: .Orientation = 1
            .SortMethod = 1: .Apply
        End With
    End With
End Sub
[/vba]

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

Excel 2007,2010,2013
еще один формульный вариант для файла из 11 поста
в диспетчере имен
Код
frames =25
Код
Duration =ABS(СУММ(МУМНОЖ(ОТБР(frames*60^{2:1:0}*ОТБР(ОСТАТ(A2:B2/10^{6:4:2};100))+ЕСЛИ({1:0:0};ОСТАТ(A2:B2;frames)));{-1:1})))
Код
TC_out =СУММ(ОТБР(frames*60^{2:1:0}*ОТБР(ОСТАТ(E2:F2/10^{6:4:2};100))+ЕСЛИ({1:0:0};ОСТАТ(E2:F2;frames))))

на листе
Код
=СУММ(ОТБР(ОСТАТ(ОТБР(Duration/frames)/60^{2;1;0};60))*10^{6;4;2};ОСТАТ(Duration;frames))*ЗНАК(B2-A2)
и
Код
=СУММ(ОТБР(ОСТАТ(ОТБР(TC_out/frames)/60^{2;1;0};60))*10^{6;4;2};ОСТАТ(TC_out;frames))
К сообщению приложен файл: 9656284.xlsx (11.1 Kb)


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

Сообщение отредактировал krosav4ig - Суббота, 24.12.2016, 19:41
 
Ответить
Сообщениееще один формульный вариант для файла из 11 поста
в диспетчере имен
Код
frames =25
Код
Duration =ABS(СУММ(МУМНОЖ(ОТБР(frames*60^{2:1:0}*ОТБР(ОСТАТ(A2:B2/10^{6:4:2};100))+ЕСЛИ({1:0:0};ОСТАТ(A2:B2;frames)));{-1:1})))
Код
TC_out =СУММ(ОТБР(frames*60^{2:1:0}*ОТБР(ОСТАТ(E2:F2/10^{6:4:2};100))+ЕСЛИ({1:0:0};ОСТАТ(E2:F2;frames))))

на листе
Код
=СУММ(ОТБР(ОСТАТ(ОТБР(Duration/frames)/60^{2;1;0};60))*10^{6;4;2};ОСТАТ(Duration;frames))*ЗНАК(B2-A2)
и
Код
=СУММ(ОТБР(ОСТАТ(ОТБР(TC_out/frames)/60^{2;1;0};60))*10^{6;4;2};ОСТАТ(TC_out;frames))

Автор - krosav4ig
Дата добавления - 24.12.2016 в 03:34
krosav4ig Дата: Понедельник, 26.12.2016, 03:39 | Сообщение № 1384 | Тема: Размер аватара.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
можно куда-нибудь воткнуть кнопку, например, с таким кодом
[vba]
Код
<input onclick="Object.prototype.forEach=Array.prototype.slice.call(this).forEach;var a=[Math.round($('.postRankName').width()/$(window).width()*100)+'%','inline','70%'];if($('.userAvatar')[0].style.width!='') {a=['25%','',''];this.value='Сузить'} else this.value='Расширить';$('.postTdTop .postUser').parent().forEach(function(item){item.style.width=a[0]});$('.postTdInfo td').forEach(function(item){item.style.display=a[1]});$('.userAvatar').forEach(function(item){item.style.width=a[2]})" value="Сузить" type="button">
[/vba]


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

Сообщение отредактировал krosav4ig - Понедельник, 26.12.2016, 15:27
 
Ответить
Сообщениеможно куда-нибудь воткнуть кнопку, например, с таким кодом
[vba]
Код
<input onclick="Object.prototype.forEach=Array.prototype.slice.call(this).forEach;var a=[Math.round($('.postRankName').width()/$(window).width()*100)+'%','inline','70%'];if($('.userAvatar')[0].style.width!='') {a=['25%','',''];this.value='Сузить'} else this.value='Расширить';$('.postTdTop .postUser').parent().forEach(function(item){item.style.width=a[0]});$('.postTdInfo td').forEach(function(item){item.style.display=a[1]});$('.userAvatar').forEach(function(item){item.style.width=a[2]})" value="Сузить" type="button">
[/vba]

Автор - krosav4ig
Дата добавления - 26.12.2016 в 03:39
krosav4ig Дата: Вторник, 27.12.2016, 01:44 | Сообщение № 1385 | Тема: список каталогов с диска в xls(x)
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
а если попробовать такой изврат?
[vba]
Код
Sub d()
    With Application.FileDialog(msoFileDialogFolderPicker)
        If .Show Then
            With Application: .ScreenUpdating = 0: .EnableEvents = 0: .DisplayAlerts = 0: End With
            CreateObject("wscript.shell").Run _
                "cmd /c dir " & .SelectedItems(1) & _
                " /AD-H-L-S | clip", 0, 1
            With ActiveSheet
                .[A1:B1] = Array("Папка", "Дата создания")
                With Intersect(.UsedRange.Offset(1), .[A:B])
                    .Cells(1, 1).Select
                    .Delete xlUp
                End With
                .PasteSpecial "Текст"
                .UsedRange
                With Intersect(.UsedRange.Offset(1), .[A:A])
                    .Columns(1).TextToColumns [A2], 2, FieldInfo:=Array( _
                    Array(0, 4), Array(10, 9), Array(36, 2)), TrailingMinusNumbers:=1
                    .Offset(, 1).Cut
                    .Insert xlToRight
                    .Offset(.Rows.Count - 3, -1).Resize(2, 2).Delete xlUp
                    .Offset(, -1).Resize(5, 2).Delete xlUp
                End With
            End With
        End If
    End With
    With Application: .ScreenUpdating = 1: .EnableEvents = 1: .DisplayAlerts = 1: End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеа если попробовать такой изврат?
[vba]
Код
Sub d()
    With Application.FileDialog(msoFileDialogFolderPicker)
        If .Show Then
            With Application: .ScreenUpdating = 0: .EnableEvents = 0: .DisplayAlerts = 0: End With
            CreateObject("wscript.shell").Run _
                "cmd /c dir " & .SelectedItems(1) & _
                " /AD-H-L-S | clip", 0, 1
            With ActiveSheet
                .[A1:B1] = Array("Папка", "Дата создания")
                With Intersect(.UsedRange.Offset(1), .[A:B])
                    .Cells(1, 1).Select
                    .Delete xlUp
                End With
                .PasteSpecial "Текст"
                .UsedRange
                With Intersect(.UsedRange.Offset(1), .[A:A])
                    .Columns(1).TextToColumns [A2], 2, FieldInfo:=Array( _
                    Array(0, 4), Array(10, 9), Array(36, 2)), TrailingMinusNumbers:=1
                    .Offset(, 1).Cut
                    .Insert xlToRight
                    .Offset(.Rows.Count - 3, -1).Resize(2, 2).Delete xlUp
                    .Offset(, -1).Resize(5, 2).Delete xlUp
                End With
            End With
        End If
    End With
    With Application: .ScreenUpdating = 1: .EnableEvents = 1: .DisplayAlerts = 1: End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 27.12.2016 в 01:44
krosav4ig Дата: Вторник, 27.12.2016, 14:46 | Сообщение № 1386 | Тема: Word. Подсветка кода SQL, C#, C++, Pascal, Java,RegExp
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте
предложения

добавить вкладку с командами на ленту, пункты в контекстное меню. Относительно легко делается через CustomUI.


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

добавить вкладку с командами на ленту, пункты в контекстное меню. Относительно легко делается через CustomUI.

Автор - krosav4ig
Дата добавления - 27.12.2016 в 14:46
krosav4ig Дата: Среда, 28.12.2016, 23:21 | Сообщение № 1387 | Тема: Массовое изменение названий (tittle) изображений макросом
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
здравствуйте
для изменения свойств файла есть библиотека DSOFile
сделал пример использования на VBA
[vba]
Код
Sub ReadFromFiles()'получение свойств файлов из выбранной папки и запись на лист
    Dim strFolder$, arr() As Variant, i&, r As ListRow, c As Range
    strFolder = SelectFolder()
    If strFolder = "" Then Exit Sub
    With Application
        .ScreenUpdating = 0: .EnableEvents = 0
        Dim strFile$
        With CreateObject("DSOFile.OleDocumentProperties")
            strFile = Dir$(strFolder & "\*.jpg*")
            Do While Len(strFile)
                ReDim Preserve arr(5, i)
                arr(0, i) = strFile
                .Open strFolder & "\" & strFile, , 2
                Set ss = .SummaryProperties
                With .SummaryProperties
                    arr(2, i) = .Title
                    arr(3, i) = .Subject
                    arr(4, i) = .Keywords
                    arr(5, i) = .Comments
                End With
                .Close
                strFile = Dir$
                i = i + 1
            Loop
        End With
        With [Таблица1].ListObject
            .ListRows.Add 1
            .DataBodyRange.Delete
            .HeaderRowRange(2, 1).Resize(i, 6) = Application.Transpose(arr)
            For Each r In .ListRows
                Dim sd As ListRow
                Set c = r.Range(, 2)
                c.RowHeight = 60
                With ActiveSheet.Pictures.Insert(strFolder & "\" & c.Offset(, -1))
                    If .Width / .Height * c.RowHeight > c.Width - 2 Then
                        .Width = c.Width - 3
                    Else: .Height = c.RowHeight - 3
                    End If
                    .Top = c.Top + (c.Height - .Height) / 2
                    .Left = c.Left + (c.Width - .Width) / 2
                    .Placement = xlMoveAndSize
                End With
            Next
        End With
        .ScreenUpdating = 1: .EnableEvents = 1
    End With
End Sub
Sub Write2Files()'замена свойств файлов значениями с листа
    Dim strFolder$, r As ListRow
    strFolder = SelectFolder()
    If strFolder = "" Then Exit Sub
    With CreateObject("DSOFile.OleDocumentProperties")
        For Each r In [Таблица1].ListObject.ListRows
            .Open strFolder & "\" & r.Range(, 1), , 2
            With .SummaryProperties
                .Title = r.Range(, 7)
                .Subject = r.Range(, 8)
                .Keywords = r.Range(, 9)
                .Comments = r.Range(, 10)
            End With
            .Save: .Close
        Next
    End With
End Sub
Private Function SelectFolder$()
    With Application.FileDialog(msoFileDialogFolderPicker)
r:      If .Show Then
            SelectFolder = .SelectedItems(1)
        ElseIf MsgBox("Ничего не выбрано. Повторить?", 36, "Ну так как?") = 6 Then
            GoTo r
        Else: Exit Function
        End If
    End With
End Function
[/vba]
К сообщению приложен файл: -tittle-.xlsm (22.1 Kb)


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

Сообщение отредактировал krosav4ig - Среда, 28.12.2016, 23:24
 
Ответить
Сообщениездравствуйте
для изменения свойств файла есть библиотека DSOFile
сделал пример использования на VBA
[vba]
Код
Sub ReadFromFiles()'получение свойств файлов из выбранной папки и запись на лист
    Dim strFolder$, arr() As Variant, i&, r As ListRow, c As Range
    strFolder = SelectFolder()
    If strFolder = "" Then Exit Sub
    With Application
        .ScreenUpdating = 0: .EnableEvents = 0
        Dim strFile$
        With CreateObject("DSOFile.OleDocumentProperties")
            strFile = Dir$(strFolder & "\*.jpg*")
            Do While Len(strFile)
                ReDim Preserve arr(5, i)
                arr(0, i) = strFile
                .Open strFolder & "\" & strFile, , 2
                Set ss = .SummaryProperties
                With .SummaryProperties
                    arr(2, i) = .Title
                    arr(3, i) = .Subject
                    arr(4, i) = .Keywords
                    arr(5, i) = .Comments
                End With
                .Close
                strFile = Dir$
                i = i + 1
            Loop
        End With
        With [Таблица1].ListObject
            .ListRows.Add 1
            .DataBodyRange.Delete
            .HeaderRowRange(2, 1).Resize(i, 6) = Application.Transpose(arr)
            For Each r In .ListRows
                Dim sd As ListRow
                Set c = r.Range(, 2)
                c.RowHeight = 60
                With ActiveSheet.Pictures.Insert(strFolder & "\" & c.Offset(, -1))
                    If .Width / .Height * c.RowHeight > c.Width - 2 Then
                        .Width = c.Width - 3
                    Else: .Height = c.RowHeight - 3
                    End If
                    .Top = c.Top + (c.Height - .Height) / 2
                    .Left = c.Left + (c.Width - .Width) / 2
                    .Placement = xlMoveAndSize
                End With
            Next
        End With
        .ScreenUpdating = 1: .EnableEvents = 1
    End With
End Sub
Sub Write2Files()'замена свойств файлов значениями с листа
    Dim strFolder$, r As ListRow
    strFolder = SelectFolder()
    If strFolder = "" Then Exit Sub
    With CreateObject("DSOFile.OleDocumentProperties")
        For Each r In [Таблица1].ListObject.ListRows
            .Open strFolder & "\" & r.Range(, 1), , 2
            With .SummaryProperties
                .Title = r.Range(, 7)
                .Subject = r.Range(, 8)
                .Keywords = r.Range(, 9)
                .Comments = r.Range(, 10)
            End With
            .Save: .Close
        Next
    End With
End Sub
Private Function SelectFolder$()
    With Application.FileDialog(msoFileDialogFolderPicker)
r:      If .Show Then
            SelectFolder = .SelectedItems(1)
        ElseIf MsgBox("Ничего не выбрано. Повторить?", 36, "Ну так как?") = 6 Then
            GoTo r
        Else: Exit Function
        End If
    End With
End Function
[/vba]

Автор - krosav4ig
Дата добавления - 28.12.2016 в 23:21
krosav4ig Дата: Пятница, 30.12.2016, 01:51 | Сообщение № 1388 | Тема: Вагоны поезда Загадка.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
+ тоже как-то решал уже, ЕМНИП ,в колледже на паре


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение+ тоже как-то решал уже, ЕМНИП ,в колледже на паре

Автор - krosav4ig
Дата добавления - 30.12.2016 в 01:51
krosav4ig Дата: Суббота, 31.12.2016, 02:02 | Сообщение № 1389 | Тема: Сохранение Веб-страницы
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
как быть в случае, если диапазон на каждом листе разный?

можно вот так
[vba]
Код
Sub toWeb()
    Dim sh As Worksheet
    For Each sh In ThisWorkbook.Sheets
        With ThisWorkbook.PublishObjects.Add(xlSourceRange, _
            ThisWorkbook.Path & "\" & sh.Name & ".htm", sh.Name, sh.UsedRange.address, _
            xlHtmlStatic, ThisWorkbook.Name & "_" & sh.Name, "")
            .Publish (True)
            .AutoRepublish = False
        End With
    Next sh
End Sub
[/vba]


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

можно вот так
[vba]
Код
Sub toWeb()
    Dim sh As Worksheet
    For Each sh In ThisWorkbook.Sheets
        With ThisWorkbook.PublishObjects.Add(xlSourceRange, _
            ThisWorkbook.Path & "\" & sh.Name & ".htm", sh.Name, sh.UsedRange.address, _
            xlHtmlStatic, ThisWorkbook.Name & "_" & sh.Name, "")
            .Publish (True)
            .AutoRepublish = False
        End With
    Next sh
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 31.12.2016 в 02:02
krosav4ig Дата: Суббота, 31.12.2016, 16:04 | Сообщение № 1390 | Тема: Размещение диаграммы на форме.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
модуль modPastePicture, спёр отсюда (файл PastePicture.zip)

в модуль листа Лист3
[vba]
Код
Public WithEvents Chrt As Chart
Private Sub Chrt_Calculate()
    UserForm1.UpdateChart
End Sub
[/vba]
в UserForm1
[vba]
Код
Private Sub UserForm_Initialize()
    Set Лист3.Chrt = Лист3.ChartObjects(1).Chart
    UpdateChart
End Sub
Public Sub UpdateChart()
    Лист3.Chrt.CopyPicture xlScreen, xlPicture, xlScreen
    Set Image1.Picture = PastePicture(xlPicture)
End Sub
[/vba]
К сообщению приложен файл: 0091065.xls (80.0 Kb)


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

Сообщение отредактировал krosav4ig - Суббота, 31.12.2016, 16:08
 
Ответить
Сообщениемодуль modPastePicture, спёр отсюда (файл PastePicture.zip)

в модуль листа Лист3
[vba]
Код
Public WithEvents Chrt As Chart
Private Sub Chrt_Calculate()
    UserForm1.UpdateChart
End Sub
[/vba]
в UserForm1
[vba]
Код
Private Sub UserForm_Initialize()
    Set Лист3.Chrt = Лист3.ChartObjects(1).Chart
    UpdateChart
End Sub
Public Sub UpdateChart()
    Лист3.Chrt.CopyPicture xlScreen, xlPicture, xlScreen
    Set Image1.Picture = PastePicture(xlPicture)
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 31.12.2016 в 16:04
krosav4ig Дата: Воскресенье, 01.01.2017, 00:42 | Сообщение № 1391 | Тема: С Новым Годом!
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
С новым годом! Счастья, мира, добра, любви, достатка в каждый дом! Пусть исполнятся все ваши желания!


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

Автор - krosav4ig
Дата добавления - 01.01.2017 в 00:42
krosav4ig Дата: Понедельник, 02.01.2017, 04:09 | Сообщение № 1392 | Тема: Макрос суммирования...
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
как-то так можно
[vba]
Код
Option Base 1
Sub Сумма()
    Dim arr As Variant, i&, s$, d&
    With [B5].CurrentRegion
        With Intersect(.Offset(1), .Cells)
            arr = .Value
            With CreateObject("Scripting.Dictionary")
                For i = 1 To UBound(arr)
                    s = CStr(arr(i, 1))
                    d = arr(i, 3) - arr(i, 4)
                    arr(i, 5) = 0
                    If .Exists(s) Then
                        arr(.Item(s), 5) = arr(.Item(s), 5) + d
                        arr(i, 5) = 0
                    Else
                        arr(i, 5) = d
                        .Item(s) = i
                    End If
                Next i
            End With
            .Value = arr
        End With
    End With
End Sub
[/vba]
а еще можно немассивную формулу написать
для F6 формула
Код
=ЕСЛИ(СЧЁТЕСЛИ($B$5:B5;B6);"";СУММЕСЛИ($B$6:$B$14;B6;$D$6:$D$14)-СУММЕСЛИ($B$6:$B$14;B6;$E$6:$E$14))


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениекак-то так можно
[vba]
Код
Option Base 1
Sub Сумма()
    Dim arr As Variant, i&, s$, d&
    With [B5].CurrentRegion
        With Intersect(.Offset(1), .Cells)
            arr = .Value
            With CreateObject("Scripting.Dictionary")
                For i = 1 To UBound(arr)
                    s = CStr(arr(i, 1))
                    d = arr(i, 3) - arr(i, 4)
                    arr(i, 5) = 0
                    If .Exists(s) Then
                        arr(.Item(s), 5) = arr(.Item(s), 5) + d
                        arr(i, 5) = 0
                    Else
                        arr(i, 5) = d
                        .Item(s) = i
                    End If
                Next i
            End With
            .Value = arr
        End With
    End With
End Sub
[/vba]
а еще можно немассивную формулу написать
для F6 формула
Код
=ЕСЛИ(СЧЁТЕСЛИ($B$5:B5;B6);"";СУММЕСЛИ($B$6:$B$14;B6;$D$6:$D$14)-СУММЕСЛИ($B$6:$B$14;B6;$E$6:$E$14))

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

Excel 2007,2010,2013
Здравствуйте
Нужно, чтобы суммировались только те записи, для которых выполняются все условия из ячейки?
Если да, то формула может быть такой [vba]
Код
=SUMPRODUCT(IF(MMULT(ISERR(SEARCH(SPLIT(B9;";");'Выписка'!E:E))%;TRANSPOSE(SEARCH("*";SPLIT(B9;";"))));;'Выписка'!I:I))
[/vba]


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

Сообщение отредактировал krosav4ig - Среда, 04.01.2017, 00:16
 
Ответить
СообщениеЗдравствуйте
Нужно, чтобы суммировались только те записи, для которых выполняются все условия из ячейки?
Если да, то формула может быть такой [vba]
Код
=SUMPRODUCT(IF(MMULT(ISERR(SEARCH(SPLIT(B9;";");'Выписка'!E:E))%;TRANSPOSE(SEARCH("*";SPLIT(B9;";"))));;'Выписка'!I:I))
[/vba]

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

Excel 2007,2010,2013
ну, тогда так, наверно
[vba]
Код
=SUMPRODUCT(IF(MMULT(IFERROR(SEARCH(SPLIT(B9;";");'Выписка'!E:E);0);TRANSPOSE(SEARCH("*";SPLIT(B9;";"))));'Выписка'!I:I))
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениену, тогда так, наверно
[vba]
Код
=SUMPRODUCT(IF(MMULT(IFERROR(SEARCH(SPLIT(B9;";");'Выписка'!E:E);0);TRANSPOSE(SEARCH("*";SPLIT(B9;";"))));'Выписка'!I:I))
[/vba]

Автор - krosav4ig
Дата добавления - 04.01.2017 в 01:43
krosav4ig Дата: Четверг, 05.01.2017, 03:05 | Сообщение № 1395 | Тема: трехуровенный выбор без ЕСЛИ
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
До кучи
Код
=ОКРУГЛ(ПРОСМОТР(A1;{0:50:151};(A1*99%-{0:50:150})*{0:8:13}%+{0:0:8});2)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеДо кучи
Код
=ОКРУГЛ(ПРОСМОТР(A1;{0:50:151};(A1*99%-{0:50:150})*{0:8:13}%+{0:0:8});2)

Автор - krosav4ig
Дата добавления - 05.01.2017 в 03:05
krosav4ig Дата: Суббота, 07.01.2017, 06:04 | Сообщение № 1396 | Тема: Локализация и как с ней бороться
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
как вариант, можно в диспетчер имен воткнуть
Код
Г    =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);19)
Код
Д    =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);21)
Код
М    =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);20)
а в формулу такую кракозябру
Код
=Д&Д&"."&М&М&"."&Г&Г&Г&Г


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

Сообщение отредактировал krosav4ig - Суббота, 07.01.2017, 06:05
 
Ответить
Сообщениекак вариант, можно в диспетчер имен воткнуть
Код
Г    =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);19)
Код
Д    =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);21)
Код
М    =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);20)
а в формулу такую кракозябру
Код
=Д&Д&"."&М&М&"."&Г&Г&Г&Г

Автор - krosav4ig
Дата добавления - 07.01.2017 в 06:04
krosav4ig Дата: Воскресенье, 08.01.2017, 18:25 | Сообщение № 1397 | Тема: Формирование подложки - из картинки на листе.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
модуль modPastePicture спёр тут

[vba]
Код
Sub Подложка()
    Dim sFile$: sFile = Environ("tmp") & "\tmp.bmp"
    Лист3.[Рисунок 1].CopyPicture xlScreen, xlBitmap
    DoEvents: SavePicture PastePicture(xlBitmap), sFile
    DoEvents: Лист3.SetBackgroundPicture sFile
    DoEvents: Kill sFile
End Sub
[/vba]
К сообщению приложен файл: 5435345-.xlsm (98.9 Kb)


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

Сообщение отредактировал krosav4ig - Воскресенье, 08.01.2017, 18:25
 
Ответить
Сообщениемодуль modPastePicture спёр тут

[vba]
Код
Sub Подложка()
    Dim sFile$: sFile = Environ("tmp") & "\tmp.bmp"
    Лист3.[Рисунок 1].CopyPicture xlScreen, xlBitmap
    DoEvents: SavePicture PastePicture(xlBitmap), sFile
    DoEvents: Лист3.SetBackgroundPicture sFile
    DoEvents: Kill sFile
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 08.01.2017 в 18:25
krosav4ig Дата: Воскресенье, 08.01.2017, 22:17 | Сообщение № 1398 | Тема: Формирование подложки - из картинки на листе.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
You must select a picture

ну дык чего не понятно-то?
Ведь черным по-англиццки написано "Вы должны выделить изображение"
Выделил картинку, запустил макрос, получил выделенную картинку в подложке


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

Сообщение отредактировал krosav4ig - Воскресенье, 08.01.2017, 22:19
 
Ответить
Сообщение
You must select a picture

ну дык чего не понятно-то?
Ведь черным по-англиццки написано "Вы должны выделить изображение"
Выделил картинку, запустил макрос, получил выделенную картинку в подложке

Автор - krosav4ig
Дата добавления - 08.01.2017 в 22:17
krosav4ig Дата: Вторник, 10.01.2017, 17:43 | Сообщение № 1399 | Тема: Вагоны поезда Загадка.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013


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

Сообщение отредактировал krosav4ig - Вторник, 10.01.2017, 17:58
 
Ответить
Сообщение

Автор - krosav4ig
Дата добавления - 10.01.2017 в 17:43
krosav4ig Дата: Суббота, 14.01.2017, 01:39 | Сообщение № 1400 | Тема: Вагоны поезда Загадка.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
И уж больно похоже на метку...
неа, это машинист запомнил, был ли включен свет в вагоне, с которого начал обход
А с файлом рабочим?
А не было его, на коленке писал. Сейчас сделал, но код не оптимизировал.
К сообщению приложен файл: 3670703.xlsm (47.5 Kb)


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

Сообщение отредактировал krosav4ig - Суббота, 14.01.2017, 01:44
 
Ответить
Сообщение
И уж больно похоже на метку...
неа, это машинист запомнил, был ли включен свет в вагоне, с которого начал обход
А с файлом рабочим?
А не было его, на коленке писал. Сейчас сделал, но код не оптимизировал.

Автор - krosav4ig
Дата добавления - 14.01.2017 в 01:39
Поиск:

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