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

Вход

Регистрация

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

 

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

Результаты поиска
krosav4ig Дата: Воскресенье, 30.12.2018, 17:55 | Сообщение № 1741 | Тема: QueryTables - загрузка данных из файла
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте.
[vba]
Код
    Set qt1 = wsl.QueryTables.Add(Connection:="TEXT;" & "E:\Data\TXT", Destination:=wsl.Cells(1, 1))

        With qt1
            .FieldNames = False
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = False
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = True
            .TextFilePlatform = 866
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = False
            .TextFileSemicolonDelimiter = True
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileColumnDataTypes = Array(1, 1, 4, 1, 1, 1, 1, 1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
            Debug.Print Split(.Connection, ";")(1)
        End With
[/vba]


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

Сообщение отредактировал krosav4ig - Воскресенье, 30.12.2018, 17:55
 
Ответить
СообщениеЗдравствуйте.
[vba]
Код
    Set qt1 = wsl.QueryTables.Add(Connection:="TEXT;" & "E:\Data\TXT", Destination:=wsl.Cells(1, 1))

        With qt1
            .FieldNames = False
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = False
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = True
            .TextFilePlatform = 866
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = False
            .TextFileSemicolonDelimiter = True
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileColumnDataTypes = Array(1, 1, 4, 1, 1, 1, 1, 1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
            Debug.Print Split(.Connection, ";")(1)
        End With
[/vba]

Автор - krosav4ig
Дата добавления - 30.12.2018 в 17:55
krosav4ig Дата: Понедельник, 31.12.2018, 17:53 | Сообщение № 1742 | Тема: С Новым Годом!
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
С наступающим Новым Годом!


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение С наступающим Новым Годом!

Автор - krosav4ig
Дата добавления - 31.12.2018 в 17:53
krosav4ig Дата: Воскресенье, 06.01.2019, 17:19 | Сообщение № 1743 | Тема: Выборка по условию
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте
Код
=ЕСЛИОШИБКА(ИНДЕКС($B$2:$B$325;НАИМЕНЬШИЙ(ЕСЛИ((ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ($C$2:$C$325);ДЕНЬ($C$2:$C$325))-СЕГОДНЯ()>=0)*(ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ($C$2:$C$325);ДЕНЬ($C$2:$C$325))-СЕГОДНЯ()<=30);СТРОКА($B$2:$B$325)-СТРОКА($B$1));A4));"")

Код
=ЕСЛИОШИБКА(ИНДЕКС(B:B;НАИМЕНЬШИЙ(ЕСЛИ((--(ТЕКСТ(C$2:C$325;"[>0]д.М.;")&ГОД(СЕГОДНЯ()))>СЕГОДНЯ())*(C$2:C$325-(ТЕКСТ(СЕГОДНЯ();"д.М.")&ГОД(C$2:C$325))<30);СТРОКА(C$2:C$325));СТРОКА(F1)));"")


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеЗдравствуйте
Код
=ЕСЛИОШИБКА(ИНДЕКС($B$2:$B$325;НАИМЕНЬШИЙ(ЕСЛИ((ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ($C$2:$C$325);ДЕНЬ($C$2:$C$325))-СЕГОДНЯ()>=0)*(ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ($C$2:$C$325);ДЕНЬ($C$2:$C$325))-СЕГОДНЯ()<=30);СТРОКА($B$2:$B$325)-СТРОКА($B$1));A4));"")

Код
=ЕСЛИОШИБКА(ИНДЕКС(B:B;НАИМЕНЬШИЙ(ЕСЛИ((--(ТЕКСТ(C$2:C$325;"[>0]д.М.;")&ГОД(СЕГОДНЯ()))>СЕГОДНЯ())*(C$2:C$325-(ТЕКСТ(СЕГОДНЯ();"д.М.")&ГОД(C$2:C$325))<30);СТРОКА(C$2:C$325));СТРОКА(F1)));"")

Автор - krosav4ig
Дата добавления - 06.01.2019 в 17:19
krosav4ig Дата: Понедельник, 07.01.2019, 17:21 | Сообщение № 1744 | Тема: Создание дубликата строки ниже самой себя всего листа
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте.
Выделяете строки, жмете на кнопку
[vba]
Код
Sub CopyRows()
    Dim I As Long
    With Selection.Rows
        For I = .Count To 1 Step -1
            With .Item(I)
                .Offset(1).Insert xlDown, 0
                .AutoFill .Resize(2), 1
                .Cells(2, 6) = "Пр.П"
            End With
        Next
    End With
End Sub
[/vba]
К сообщению приложен файл: 5253194.xls (38.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеЗдравствуйте.
Выделяете строки, жмете на кнопку
[vba]
Код
Sub CopyRows()
    Dim I As Long
    With Selection.Rows
        For I = .Count To 1 Step -1
            With .Item(I)
                .Offset(1).Insert xlDown, 0
                .AutoFill .Resize(2), 1
                .Cells(2, 6) = "Пр.П"
            End With
        Next
    End With
End Sub
[/vba]

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

Excel 2007,2010,2013
для любителей танцев с бубном есть еще вариант со связанными надписями
К сообщению приложен файл: AAAAAAA.doc (39.5 Kb)


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

Автор - krosav4ig
Дата добавления - 07.01.2019 в 23:27
krosav4ig Дата: Суббота, 12.01.2019, 07:30 | Сообщение № 1746 | Тема: Макрос стал удалять не те строки.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте.
[vba]
Код
Sub Удалить_заголовки_и_пустые()
    Dim Addr$
    With ActiveSheet.UsedRange.Columns("A")
        Addr = "=" & .Resize(1).Offset(.Cells.Count).Address(, , Application.ReferenceStyle, 1)
        With Intersect(.Cells, .Offset(12))
            .Replace "Дата операции", Addr
            .Replace 1, Addr, xlWhole
            .Replace Empty, Addr
        End With
    End With
    Evaluate(Addr).DirectDependents.EntireRow.Delete xlUp
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеЗдравствуйте.
[vba]
Код
Sub Удалить_заголовки_и_пустые()
    Dim Addr$
    With ActiveSheet.UsedRange.Columns("A")
        Addr = "=" & .Resize(1).Offset(.Cells.Count).Address(, , Application.ReferenceStyle, 1)
        With Intersect(.Cells, .Offset(12))
            .Replace "Дата операции", Addr
            .Replace 1, Addr, xlWhole
            .Replace Empty, Addr
        End With
    End With
    Evaluate(Addr).DirectDependents.EntireRow.Delete xlUp
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 12.01.2019 в 07:30
krosav4ig Дата: Суббота, 12.01.2019, 18:13 | Сообщение № 1747 | Тема: Макрос стал удалять не те строки.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Mark1976, уберите строку [vba]
Код
.Replace Empty, Addr
[/vba] и будет вам счастье


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеMark1976, уберите строку [vba]
Код
.Replace Empty, Addr
[/vba] и будет вам счастье

Автор - krosav4ig
Дата добавления - 12.01.2019 в 18:13
krosav4ig Дата: Суббота, 12.01.2019, 19:43 | Сообщение № 1748 | Тема: Добавление текущей даты в запрос Power Query
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Добрый день.
Как-то так, если память не подводит
[vba]
Код
Источник = Json.Document(Web.Contents("https://api.rasp.yandex.net/v3.0/schedule/?apikey=хххххххх-хххх-хххх-хххх-хххххххххххх&station=s9610483&" & DateTime.ToText(DateTime.Date(DateTime.LocalNow),"yyyy-MM-dd"))),
[/vba]


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

Сообщение отредактировал krosav4ig - Суббота, 12.01.2019, 19:44
 
Ответить
СообщениеДобрый день.
Как-то так, если память не подводит
[vba]
Код
Источник = Json.Document(Web.Contents("https://api.rasp.yandex.net/v3.0/schedule/?apikey=хххххххх-хххх-хххх-хххх-хххххххххххх&station=s9610483&" & DateTime.ToText(DateTime.Date(DateTime.LocalNow),"yyyy-MM-dd"))),
[/vba]

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

Excel 2007,2010,2013
Вариан udf [vba]
Код
Function xx$(s1$, s2$)
    Dim s$: s = s1 + "Ў" + s2
    xx = s1
    With CreateObject("vbscript.regexp")
        .Global = True: .Pattern = "(.+)(?=.*Ў(?=.*\1))|Ў.*"
        If .test(s) Then xx = .Replace(s, "")
    End With
End Function
[/vba]


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

Сообщение отредактировал krosav4ig - Понедельник, 14.01.2019, 00:19
 
Ответить
СообщениеВариан udf [vba]
Код
Function xx$(s1$, s2$)
    Dim s$: s = s1 + "Ў" + s2
    xx = s1
    With CreateObject("vbscript.regexp")
        .Global = True: .Pattern = "(.+)(?=.*Ў(?=.*\1))|Ў.*"
        If .test(s) Then xx = .Replace(s, "")
    End With
End Function
[/vba]

Автор - krosav4ig
Дата добавления - 14.01.2019 в 00:14
krosav4ig Дата: Понедельник, 14.01.2019, 00:54 | Сообщение № 1750 | Тема: Обработка таблицы excel для перевода в текстовый файл
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

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

[vba]
Код
Sub ExportDSL()
    Dim col As Range, ar As Range, c As Range, c1 As Range
    Dim fs As Object, i&, sColor$, sFilePath$
    
    Set fs = CreateObject("ADODB.Stream")
    
    fs.Open: fs.Type = 2: fs.Charset = "unicode"
    fs.WriteText "Тезаурус" & vbCrLf & vbCrLf

    With ActiveSheet.UsedRange
        fs.WriteText Chr(9) & "[m1][b][c red]<<""" & .Cells(1) & """>>[/c][/b]" & vbCrLf
        For Each col In .Resize(, .Columns.Count - 1).Columns
            
            Select Case col.Column
                Case 1: sColor = "green"
                Case 2: sColor = "dodgerblue"
            End Select 'col.Column
            
            For Each ar In col.SpecialCells(2, 23).Areas
                Set c = IIf(ar.Cells.Count = 1, ar, ar.End(xlDown)(1, 1))
                If HasChild(c) Then
                    fs.WriteText vbCrLf & """" & c & """" & vbCrLf
                    For Each c1 In Range(c(2, 2), c.End(xlDown).Offset(-1, 1)).SpecialCells(2, 23).Cells
                        fs.WriteText Chr(9) & "[m1][b][c " & IIf(HasChild(c1), sColor, _
                            "blueviolet") & "]<<""" & c1 & """>>[/c][/b]" & vbCrLf
                    Next c1
                End If 'HasChild(c)
        Next ar, col
    End With 'ActiveSheet.UsedRange
    
    sFilePath = Application.GetSaveAsFilename(Mid(ThisWorkbook.FullName, 1, _
        InStrRev(ThisWorkbook.FullName, ".") - 1), _
        "Файлы словаря (*.dsl),*.dsl,Текстовые файлы (*.txt),*.txt")
        
    fs.SaveToFile sFilePath, 2: fs.Close: Set fs = Nothing
End Sub
Private Function HasChild(r As Range) As Boolean
    HasChild = IsEmpty(r(2)) And Not IsEmpty(r(2, 2))
End Function
[/vba]
К сообщению приложен файл: 4437057-1-.xlsm (19.8 Kb)


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

[vba]
Код
Sub ExportDSL()
    Dim col As Range, ar As Range, c As Range, c1 As Range
    Dim fs As Object, i&, sColor$, sFilePath$
    
    Set fs = CreateObject("ADODB.Stream")
    
    fs.Open: fs.Type = 2: fs.Charset = "unicode"
    fs.WriteText "Тезаурус" & vbCrLf & vbCrLf

    With ActiveSheet.UsedRange
        fs.WriteText Chr(9) & "[m1][b][c red]<<""" & .Cells(1) & """>>[/c][/b]" & vbCrLf
        For Each col In .Resize(, .Columns.Count - 1).Columns
            
            Select Case col.Column
                Case 1: sColor = "green"
                Case 2: sColor = "dodgerblue"
            End Select 'col.Column
            
            For Each ar In col.SpecialCells(2, 23).Areas
                Set c = IIf(ar.Cells.Count = 1, ar, ar.End(xlDown)(1, 1))
                If HasChild(c) Then
                    fs.WriteText vbCrLf & """" & c & """" & vbCrLf
                    For Each c1 In Range(c(2, 2), c.End(xlDown).Offset(-1, 1)).SpecialCells(2, 23).Cells
                        fs.WriteText Chr(9) & "[m1][b][c " & IIf(HasChild(c1), sColor, _
                            "blueviolet") & "]<<""" & c1 & """>>[/c][/b]" & vbCrLf
                    Next c1
                End If 'HasChild(c)
        Next ar, col
    End With 'ActiveSheet.UsedRange
    
    sFilePath = Application.GetSaveAsFilename(Mid(ThisWorkbook.FullName, 1, _
        InStrRev(ThisWorkbook.FullName, ".") - 1), _
        "Файлы словаря (*.dsl),*.dsl,Текстовые файлы (*.txt),*.txt")
        
    fs.SaveToFile sFilePath, 2: fs.Close: Set fs = Nothing
End Sub
Private Function HasChild(r As Range) As Boolean
    HasChild = IsEmpty(r(2)) And Not IsEmpty(r(2, 2))
End Function
[/vba]

Автор - krosav4ig
Дата добавления - 14.01.2019 в 00:54
krosav4ig Дата: Понедельник, 14.01.2019, 01:21 | Сообщение № 1751 | Тема: Скачки интерфейса Excel 2016 при работе на 2 мониторах
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Попробуйте отключить аппаратное ускорение обработки изображения
Цитата
Запустите любую программу Office.
На вкладке Файл выберите пункт Параметры.
В диалоговом окне Параметры выберите категорию Дополнительно.
В списке доступных параметров, установите флажок в поле Отключить аппаратное ускорение обработки изображения.

и обновить драйвер видеокарты не помешает
Проблемы отображения в клиентских приложениях Office


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеПопробуйте отключить аппаратное ускорение обработки изображения
Цитата
Запустите любую программу Office.
На вкладке Файл выберите пункт Параметры.
В диалоговом окне Параметры выберите категорию Дополнительно.
В списке доступных параметров, установите флажок в поле Отключить аппаратное ускорение обработки изображения.

и обновить драйвер видеокарты не помешает
Проблемы отображения в клиентских приложениях Office

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

Excel 2007,2010,2013
до кучи, массивная гипер-монстро-формула
Код
=ЕСЛИОШИБКА(ЕСЛИ(СТРОКА()=3;ВЫБОР(ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1});{1;2;3});ИНДЕКС(Table;$C$1;СТОЛБЕЦ()-ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1}))+1-1)&"";ИНДЕКС($E$1:ИНДЕКС($1:$1;$C$1+4);СТОЛБЕЦ()-ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1}))+1)&"";ЕСЛИ(СТОЛБЕЦ()-ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1}))+1>$D$1;"";ЕСЛИ($D$1>1;ЕСЛИОШИБКА(ЕСЛИ(ИНДЕКС(ИНДЕКС(Table;1;$B$1+1):ИНДЕКС(Table;$C$1;ЧИСЛСТОЛБ(Table));$C$1;1)=ИНДЕКС(ИНДЕКС(Table;1;$B$1+1):ИНДЕКС(Table;$C$1;ЧИСЛСТОЛБ(Table));$C$1;$D$1+1);ИНДЕКС(ИНДЕКС(Table;1;$B$1+1):ИНДЕКС(Table;$C$1;ЧИСЛСТОЛБ(Table));$C$1;ОСТАТ(СТОЛБЕЦ()-ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1}))+1-1;$D$1)+1);СТОЛБЕЦ()-ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1}))+1);СТОЛБЕЦ()-ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1}))+1);ЕСЛИ(СТОЛБЕЦ()-ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1}))+1-1;"";"Значение")))&"");ВЫБОР(ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1});{1;2;3});ИНДЕКС(ИНДЕКС(Table;$C$1+1;1):ИНДЕКС(Table;ЧСТРОК(Table);$B$1);ОТБР((СТРОКА(A1)-2)/ЧИСЛСТОЛБ(ИНДЕКС(Table;$C$1+1;$B$1+1):ИНДЕКС(Table;ЧСТРОК(Table);ЧИСЛСТОЛБ(Table)))*$D$1)+1;СТОЛБЕЦ()-ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1}))+1-1);ЕСЛИ(ДЛСТР(ИНДЕКС(ИНДЕКС(Table;$C$1+1;1):ИНДЕКС(Table;ЧСТРОК(Table);$B$1);ОТБР((СТРОКА(A1)-2)/ЧИСЛСТОЛБ(ИНДЕКС(Table;$C$1+1;$B$1+1):ИНДЕКС(Table;ЧСТРОК(Table);ЧИСЛСТОЛБ(Table)))*$D$1)+1;1));ИНДЕКС(ИНДЕКС(Table;1;$B$1+1):ИНДЕКС(Table;$C$1;ЧИСЛСТОЛБ(Table));СТОЛБЕЦ()-ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1}))+1;ОСТАТ((СТРОКА(A1)-2);ЧИСЛСТОЛБ(ИНДЕКС(Table;$C$1+1;$B$1+1):ИНДЕКС(Table;ЧСТРОК(Table);ЧИСЛСТОЛБ(Table)))/$D$1)*$D$1+1);"");ЕСЛИ(СТОЛБЕЦ()-ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1}))+1>$D$1;"";ИНДЕКС(ИНДЕКС(Table;$C$1+1;$B$1+1):ИНДЕКС(Table;ЧСТРОК(Table);ЧИСЛСТОЛБ(Table));ОТБР((СТРОКА(A1)-2)/ЧИСЛСТОЛБ(ИНДЕКС(Table;$C$1+1;$B$1+1):ИНДЕКС(Table;ЧСТРОК(Table);ЧИСЛСТОЛБ(Table)))*$D$1)+1;ОСТАТ((СТРОКА(A1)-2);ЧИСЛСТОЛБ(ИНДЕКС(Table;$C$1+1;$B$1+1):ИНДЕКС(Table;ЧСТРОК(Table);ЧИСЛСТОЛБ(Table)))/$D$1)*$D$1+СТОЛБЕЦ()-ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1}))+1))));"")

В файле 6988119-3.xlsx большая часть этой формулы заныкано в диспетчер имен, в таблице формула
Код
=ЕСЛИОШИБКА(ЕСЛИ(СТРОКА()=3;ВЫБОР(nn;h_1&"";h_2&"";h_3);ВЫБОР(nn;f_1;f_2;f_3));"")
К сообщению приложен файл: 6988119-2.xlsx (27.3 Kb) · 6988119-3.xlsx (22.8 Kb)


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

Сообщение отредактировал krosav4ig - Вторник, 15.01.2019, 21:44
 
Ответить
Сообщениедо кучи, массивная гипер-монстро-формула
Код
=ЕСЛИОШИБКА(ЕСЛИ(СТРОКА()=3;ВЫБОР(ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1});{1;2;3});ИНДЕКС(Table;$C$1;СТОЛБЕЦ()-ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1}))+1-1)&"";ИНДЕКС($E$1:ИНДЕКС($1:$1;$C$1+4);СТОЛБЕЦ()-ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1}))+1)&"";ЕСЛИ(СТОЛБЕЦ()-ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1}))+1>$D$1;"";ЕСЛИ($D$1>1;ЕСЛИОШИБКА(ЕСЛИ(ИНДЕКС(ИНДЕКС(Table;1;$B$1+1):ИНДЕКС(Table;$C$1;ЧИСЛСТОЛБ(Table));$C$1;1)=ИНДЕКС(ИНДЕКС(Table;1;$B$1+1):ИНДЕКС(Table;$C$1;ЧИСЛСТОЛБ(Table));$C$1;$D$1+1);ИНДЕКС(ИНДЕКС(Table;1;$B$1+1):ИНДЕКС(Table;$C$1;ЧИСЛСТОЛБ(Table));$C$1;ОСТАТ(СТОЛБЕЦ()-ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1}))+1-1;$D$1)+1);СТОЛБЕЦ()-ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1}))+1);СТОЛБЕЦ()-ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1}))+1);ЕСЛИ(СТОЛБЕЦ()-ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1}))+1-1;"";"Значение")))&"");ВЫБОР(ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1});{1;2;3});ИНДЕКС(ИНДЕКС(Table;$C$1+1;1):ИНДЕКС(Table;ЧСТРОК(Table);$B$1);ОТБР((СТРОКА(A1)-2)/ЧИСЛСТОЛБ(ИНДЕКС(Table;$C$1+1;$B$1+1):ИНДЕКС(Table;ЧСТРОК(Table);ЧИСЛСТОЛБ(Table)))*$D$1)+1;СТОЛБЕЦ()-ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1}))+1-1);ЕСЛИ(ДЛСТР(ИНДЕКС(ИНДЕКС(Table;$C$1+1;1):ИНДЕКС(Table;ЧСТРОК(Table);$B$1);ОТБР((СТРОКА(A1)-2)/ЧИСЛСТОЛБ(ИНДЕКС(Table;$C$1+1;$B$1+1):ИНДЕКС(Table;ЧСТРОК(Table);ЧИСЛСТОЛБ(Table)))*$D$1)+1;1));ИНДЕКС(ИНДЕКС(Table;1;$B$1+1):ИНДЕКС(Table;$C$1;ЧИСЛСТОЛБ(Table));СТОЛБЕЦ()-ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1}))+1;ОСТАТ((СТРОКА(A1)-2);ЧИСЛСТОЛБ(ИНДЕКС(Table;$C$1+1;$B$1+1):ИНДЕКС(Table;ЧСТРОК(Table);ЧИСЛСТОЛБ(Table)))/$D$1)*$D$1+1);"");ЕСЛИ(СТОЛБЕЦ()-ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1}))+1>$D$1;"";ИНДЕКС(ИНДЕКС(Table;$C$1+1;$B$1+1):ИНДЕКС(Table;ЧСТРОК(Table);ЧИСЛСТОЛБ(Table));ОТБР((СТРОКА(A1)-2)/ЧИСЛСТОЛБ(ИНДЕКС(Table;$C$1+1;$B$1+1):ИНДЕКС(Table;ЧСТРОК(Table);ЧИСЛСТОЛБ(Table)))*$D$1)+1;ОСТАТ((СТРОКА(A1)-2);ЧИСЛСТОЛБ(ИНДЕКС(Table;$C$1+1;$B$1+1):ИНДЕКС(Table;ЧСТРОК(Table);ЧИСЛСТОЛБ(Table)))/$D$1)*$D$1+СТОЛБЕЦ()-ПРОСМОТР(СТОЛБЕЦ();МУМНОЖ(ЕСЛИ({1:2:3}>={1;2;3};$A$1:$C$1*{0;1;1}+{0;1;0};);{1:1:1}))+1))));"")

В файле 6988119-3.xlsx большая часть этой формулы заныкано в диспетчер имен, в таблице формула
Код
=ЕСЛИОШИБКА(ЕСЛИ(СТРОКА()=3;ВЫБОР(nn;h_1&"";h_2&"";h_3);ВЫБОР(nn;f_1;f_2;f_3));"")

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

Excel 2007,2010,2013
для Ганта у Fabrice Rimlinger есть надстройка, хоть и не спарклайны, но может стоит посмотреть в эту сторону
ссылко
Надстройка x86 Надстройка x64 Пример использования 1 Пример использования 2
в файлах примера может понадобиться удалить из формул ссылку на файл надстройки


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениедля Ганта у Fabrice Rimlinger есть надстройка, хоть и не спарклайны, но может стоит посмотреть в эту сторону
ссылко
Надстройка x86 Надстройка x64 Пример использования 1 Пример использования 2
в файлах примера может понадобиться удалить из формул ссылку на файл надстройки

Автор - krosav4ig
Дата добавления - 15.01.2019 в 22:39
krosav4ig Дата: Среда, 16.01.2019, 16:37 | Сообщение № 1754 | Тема: Медленно обрабатывается массив данных
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Sancho, если уж и делать умную таблицу, то и в сводной лучше заменить источник данных на Таблица1[#Все]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеSancho, если уж и делать умную таблицу, то и в сводной лучше заменить источник данных на Таблица1[#Все]

Автор - krosav4ig
Дата добавления - 16.01.2019 в 16:37
krosav4ig Дата: Среда, 16.01.2019, 22:47 | Сообщение № 1755 | Тема: Копирование файлов из одной папки в другую по условию
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте
fso.GetFileName(fil.Path)

For Each iFile In Folder.Files

[vba]
Код
If iFile.Name Like "*+*.xls*" Then iFile.Copy "C:\Users\Мвидео\Desktop\Куда" & "\" & iFile.Name
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеЗдравствуйте
fso.GetFileName(fil.Path)

For Each iFile In Folder.Files

[vba]
Код
If iFile.Name Like "*+*.xls*" Then iFile.Copy "C:\Users\Мвидео\Desktop\Куда" & "\" & iFile.Name
[/vba]

Автор - krosav4ig
Дата добавления - 16.01.2019 в 22:47
krosav4ig Дата: Среда, 16.01.2019, 22:58 | Сообщение № 1756 | Тема: Перенос итоговой суммы по столбцам при формировании отчета
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
parovoznik, замените ; на , и диапазон в [] всуньте
[vba]
Код
.Cells(LR + 1, 6)=Application.WorksheetFunction.VLookup("Итого*",[реестр!$B$3:$I$99],4,0)
[/vba]


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

Сообщение отредактировал krosav4ig - Среда, 16.01.2019, 23:00
 
Ответить
Сообщениеparovoznik, замените ; на , и диапазон в [] всуньте
[vba]
Код
.Cells(LR + 1, 6)=Application.WorksheetFunction.VLookup("Итого*",[реестр!$B$3:$I$99],4,0)
[/vba]

Автор - krosav4ig
Дата добавления - 16.01.2019 в 22:58
krosav4ig Дата: Среда, 16.01.2019, 23:04 | Сообщение № 1757 | Тема: Перенос итоговой суммы по столбцам при формировании отчета
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
parovoznik, дописАл в посте выше, не заметил сразу


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

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

Excel 2007,2010,2013
это были не рекомендации, а цитаты из серии "найди 2 отличия" :)
у вас в коде [vba]
Код
For Each iFile In Folder.Files
[/vba] задана переменная iFile, а внутри цикла почему-то пишете fil (видимо, не заметили при копировании из другого макроса)
вам нужно было просто заменить в вашем макросе 8 строку на ту, что я написал
[vba]
Код
If iFile.Name Like "*+*.xls*" Then iFile.Copy "C:\Users\Мвидео\Desktop\Куда" & "\" & iFile.Name
[/vba]

[p.s.]Получение списка файлов в папке и подпапках средствами VBA


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

Сообщение отредактировал krosav4ig - Среда, 16.01.2019, 23:18
 
Ответить
Сообщениеэто были не рекомендации, а цитаты из серии "найди 2 отличия" :)
у вас в коде [vba]
Код
For Each iFile In Folder.Files
[/vba] задана переменная iFile, а внутри цикла почему-то пишете fil (видимо, не заметили при копировании из другого макроса)
вам нужно было просто заменить в вашем макросе 8 строку на ту, что я написал
[vba]
Код
If iFile.Name Like "*+*.xls*" Then iFile.Copy "C:\Users\Мвидео\Desktop\Куда" & "\" & iFile.Name
[/vba]

[p.s.]Получение списка файлов в папке и подпапках средствами VBA

Автор - krosav4ig
Дата добавления - 16.01.2019 в 23:15
krosav4ig Дата: Среда, 16.01.2019, 23:53 | Сообщение № 1759 | Тема: Перенос итоговой суммы по столбцам при формировании отчета
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

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


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

Автор - krosav4ig
Дата добавления - 16.01.2019 в 23:53
krosav4ig Дата: Пятница, 18.01.2019, 00:08 | Сообщение № 1760 | Тема: Копирование файлов из одной папки в другую по условию
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[vba]
Код
Option Explicit
Sub test()
    Dim sInPath$, sOutPath$, oFSO As Object
    
    sInPath = "C:\Users\Мвидео\Desktop\Откуда"
    sOutPath = "C:\Users\Мвидео\Desktop\Куда"
    
    Set oFSO = CreateObject("scripting.filesystemobject")
    
    CopyRecursive oFSO, sInPath, sOutPath, "*.xls*"
        
    Set oFSO = Nothing
End Sub
Private Sub CopyRecursive(ByRef oFSO As Object, sCopyFrom$, sCopyTo$, sMask$)
    Dim oFile As Object, oFolder As Object
    Set oFolder = oFSO.GetFolder(sCopyFrom)
    For Each oFile In oFolder.Files
        If oFile.Name Like "*+*.xls*" Then oFile.Copy sCopyTo & "\" & oFile.Name
    Next
    For Each oFolder In oFolder.SubFolders
        CopyRecursive oFSO, oFolder.Path, sCopyTo, sMask
    Next
    Set oFile = Nothing
    Set oFolder = Nothing
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение[vba]
Код
Option Explicit
Sub test()
    Dim sInPath$, sOutPath$, oFSO As Object
    
    sInPath = "C:\Users\Мвидео\Desktop\Откуда"
    sOutPath = "C:\Users\Мвидео\Desktop\Куда"
    
    Set oFSO = CreateObject("scripting.filesystemobject")
    
    CopyRecursive oFSO, sInPath, sOutPath, "*.xls*"
        
    Set oFSO = Nothing
End Sub
Private Sub CopyRecursive(ByRef oFSO As Object, sCopyFrom$, sCopyTo$, sMask$)
    Dim oFile As Object, oFolder As Object
    Set oFolder = oFSO.GetFolder(sCopyFrom)
    For Each oFile In oFolder.Files
        If oFile.Name Like "*+*.xls*" Then oFile.Copy sCopyTo & "\" & oFile.Name
    Next
    For Each oFolder In oFolder.SubFolders
        CopyRecursive oFSO, oFolder.Path, sCopyTo, sMask
    Next
    Set oFile = Nothing
    Set oFolder = Nothing
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 18.01.2019 в 00:08
Поиск:

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