Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
Vba получить текст из файла .odt (libreoffice)
 
bigorq, благодарю, буду разбираться.
Пока рабочий вариант такой: конвертирую в doc и из доковского файла достаю текст.
Код
Shell "C:\Program Files\LibreOffice\program\soffice  --convert-to doc --outdir ""C:\с ошибкой"" ""C:\с ошибкой\Решение.odt""", vbNormalFocus
но подозреваю, можно еще проще, не плодя новые файлы..
Vba получить текст из файла .odt (libreoffice)
 
Добрый день! Собираю данные из Wordовских файлов вот такой функцией:

Код
Function ТЕКСТWORD(wfn As String) As String 'Получить текст из Word
    Dim objWrdApp, objWrdDoc, Tabl As Object, i As Long
    On Error Resume Next
        Set objWrdApp = GetObject(, "Word.Application")
        If objWrdApp Is Nothing Then
            Set objWrdApp = CreateObject("Word.Application")
            Set objWrdDoc = objWrdApp.Documents.Open(wfn)
            objWrdApp.Visible = False
        End If
        Set objWrdDoc = objWrdApp.Documents.Open(wfn)
        ТЕКСТWORD = objWrdDoc.Range.Text
        objWrdDoc.Close SaveChanges:=False
        Set objWrdDoc = Nothing
        Set objWrdApp = Nothing
End Function

Последнее время попадаются файлы с расширением .odt, которые не все открываются в Wordе. Подскажите, как достать текст из такого файла?
libreoffice, если что, установлен. Пример файла во вложении.
Power Query Cобрать таблицы по горизонтали
 
AlienSx, благодарю, всё получилось!
Power Query Cобрать таблицы по горизонтали
 
AlienSx, ну да, типа того, только заголовки потерялись.
Power Query Cобрать таблицы по горизонтали
 
Вот Свод0 -то что должно получиться. но у меня 150 таблиц по 150тыс. строк, больше часа ждал, когда обработает, не дождался.

Начал делать вариант Свод02.
Power Query Cобрать таблицы по горизонтали
 
Добрый день! Есть столбец в Power Query с идентичными таблицами, отличается только регион. Как их собрать в одну таблицу по горизонтали?


PQ. Объединение запросов по нескольким столбцам.
 
surkenny, Да, благодарю, это то, что надо! Только осваиваю PQ, не вьехал еще, как там формулы устроены.
PQ. Объединение запросов по нескольким столбцам.
 
surkenny, Максимально детализированный код нужно выбрать из таблицы. Можно вставить самое правое значение?
PQ. Объединение запросов по нескольким столбцам.
 
Добрый день!
Имеется таблица классификатор, с кодами разбитыми по столбцам:
Раздел Класс Подкласс Группа Подгруппа Вид Категория Подкатегория Код Наименование,
И некоторый перечень кодов. Нужно выделить соответствующие коды в классификаторе.
Я это делал формулой в Excel (см. лист "Формула" в примере).
Сейчас пробую в PQ. Сделал 8 объединений таблиц по всем столбцам классификатора, результат получился, но сильно громоздко и долго считает.
Наверняка это делается проще. Предполагаю, что можно объединить столбцы классификатора и найти там нужные коды.
Помогите пожалуйста.
Итог, который должен получиться выделен зеленым.
Определение количества при частичном совпадении номенклатур.
 
=ПРОСМОТР(1;1/ПОИСК(E2;$A$2:$A$42);$C$2:$C$42)
Заливка соседней ячейки. если там значение не из выбранного списка
 
Код
ActiveCell.Offset(, 1).Interior.Color = vbRed
Загрузка данные из интернета IE, IE.readyState = 1
 
Имеется во такой цикл, который открывает страницу в IE, берет данные, открывает следующую.
Код
Sub Extract_TD_text()     
    Set IE = New InternetExplorer
    IE.Visible = True
    For i = 1 To Worksheets(ShRN).Cells(Rows.Count, 1).End(xlUp).Row
        URL = Worksheets(ShRN).Cells(i, 1).Value
        IE.navigate URL
        While IE.Busy Or IE.readyState <> READYSTATE_COMPLETE: DoEvents: Wend
        Set HTMLDoc = IE.Document        
        For Each ele In HTMLDoc.all.tags("table")
          ...
        Next
        Set HTMLDoc = Nothing
    Next i
    IE.Quit
    Set IE = Nothing
End Sub

Первый цикл проходит нормально, затем IE загружается по следующей ссылке, но зависает на
While IE.Busy Or IE.readyState <> READYSTATE_COMPLETE: DoEvents: Wend,
потому что значение IE.readyState всегда 1
Изменено: Malion - 28.12.2017 16:40:34
Автонумерация строк по условиям
 
Код
Cells(.Row + n, 3).Value = Cells(.Row + n - 1, 3).Value + 1
Макрос сравнение значений в двух столбцах на разных листах и дополнение на первом недостающими
 
ну если я правильно понял...
Код
Sub qq()
    LR = Worksheets("Дополнение кодов").Cells(Rows.Count, 1).End(xlUp).Row + 1
    For i = 12 To Worksheets("Планировщик").Cells(Rows.Count, 1).End(xlUp).Row
    E = True
        For j = 2 To Worksheets("Дополнение кодов").Cells(Rows.Count, 1).End(xlUp).Row
            If Worksheets("Планировщик").Cells(i, 1).Value = Worksheets("Дополнение кодов").Cells(j, 1).Value Then E = False: Exit For
        Next j
    If E Then Worksheets("Дополнение кодов").Cells(LR, 1).Value = Worksheets("Планировщик").Cells(i, 1).Value: LR = LR + 1
    Next i
End Sub


наверно так правильнее
Код
Sub qq()
    LR = Worksheets("Планировщик").Cells(Rows.Count, 1).End(xlUp).Row + 1
    For i = 2 To Worksheets("Дополнение кодов").Cells(Rows.Count, 1).End(xlUp).Row
   
    E = True
        For j = 12 To Worksheets("Планировщик").Cells(Rows.Count, 1).End(xlUp).Row
            If Worksheets("Планировщик").Cells(j, 1).Value = Worksheets("Дополнение кодов").Cells(i, 1).Value Then E = False: Exit For
        Next j
    If E Then Worksheets("Планировщик").Cells(LR, 1).Value = Worksheets("Дополнение кодов").Cells(i, 1).Value: LR = LR + 1
    Next i
End Sub
Изменено: Malion - 18.02.2016 10:28:46
Копирование ячеек со всех листов на один
 
Код
Sub Combine()
    Dim s As Worksheet
    On Error Resume Next
    Sheets(1).Select
    Worksheets.Add ' add a sheet in first place
    Sheets(1).Name = "Combined"
        For Each s In ActiveWorkbook.Sheets
            If s.Name <> "Combined" Then
                i = i + 1
                Sheets(1).Range("A" & i).Value = s.Range("C1").Value
            End If
        Next
End Sub
Подсчет количества дат в периоде
 
=СУММПРОИЗВ((сводная!B2:B11>=E2)*(сводная!B2:B11<=F2))
Как скрыть книгу Excel
 
как-то так может
Код
UserForm1.Show vbModeless
Поиск значения в таблице данных. ВПР, ПОИСКПОЗ и ИНДЕКС в классическом виде не подходят., Из таблицы требуется вытащить значение, соответствующее двум параметрам.
 
=ИНДЕКС(Таблица1;$A$22;ПОИСКПОЗ(A25;ДВССЫЛ("A"&$A$22+1&":G"&$A$22+1);0)+1)
Избушка формулистов-3, не для вопросов, но для формульных задач
 
150:
=СУММ(((($B7<СТРОКА($1:$1440)/1440)+($C7>=СТРОКА($1:$1440)/1440))-($C7>$B7))*((E$5<СТРОКА($1:$1440)/1440)+(E$6>=СТРОКА($1:$1440)/1440)-(E$6>E$5)))/1440
Изменено: Malion - 03.08.2015 11:22:09
Ссылка на значение в фильтре
 
функцию АГРЕГАТ можно попробовать
Избушка формулистов-3, не для вопросов, но для формульных задач
 
Цитата
MCH написал: А если время до секунд мерить, то Ваша формула увеличится и будет медленно работать?
так и есть.
без массива времени не получается пока
Избушка формулистов-3, не для вопросов, но для формульных задач
 
176 или 167 если время пятиминутками мерить
152
Изменено: Malion - 29.07.2015 14:26:22
Избушка формулистов-3, не для вопросов, но для формульных задач
 
67
Определение количества лет, месяцев, дней по двум значениям
 
ну например вот ошибка: у левсимв 3 аргумента вместо двух
Код
ЛЕВСИМВ(RC[3];RC[4];ПОИСК(" г";RC[3];RC[4])-1))
Непустую ячейку заменить названием стобца
 
вариант на пустом листе:
в B2 и протянуть
=ЕСЛИ(Лист1!B2="";"";Лист1!B$1)
Изменено: Malion - 16.07.2015 17:27:24
Формула не возвращает значение при невыполнении одного из условий
 
у вас получается в функцию ИЛИ попадает Н/Д. можно попробовать как-то так:

или(не(енд(впр(...)));не(енд(впр(...))))
Одно копирование ячеек перекрывает другое (VBA)
 
неа, но думаю с макрорекодером там не сложно разобраться
Одно копирование ячеек перекрывает другое (VBA)
 
на листе "заявки 2015" 11 позиций, не понятно как они должны встать на лист "2015"

вот такой вариант
Код
q = 1
For i = 1 To poslcol
    If Data = Sheets("2015").Cells(1, i).Value Then
    'Col = i
         For Z = 2 To poslrow
            If Sheets("2015").Cells(10 + Z, i) = "" Then
                For x = q To poslrow
                    If Sheets("zaz 2015").Cells(x + 1, 17) = "a" Then
                        'Row = x
                        Sheets("2015").Cells(10 + Z, i) = Sheets("zaz 2015").Cells(x + 1, 11)
                        q = x + 1
                        Exit For
                   End If
                Next x
            End If
        Next Z
    End If
Next i
Изменено: Malion - 14.07.2015 13:53:28
Одно копирование ячеек перекрывает другое (VBA)
 
Код
For i = 1 To poslcol
    If Data = Sheets("2015").Cells(1, i).Value Then
    'Col = i
         For Z = 2 To poslrow
            If Sheets("2015").Cells(10 + Z, i) = "" Then
                
                    If Sheets("zaz 2015").Cells(Z + 1, 17) = "a" Then
                        'Row = x
                        Sheets("2015").Cells(10 + Z, i) = Sheets("zaz 2015").Cells(Z + 1, 11)
                       
                   End If
              
            End If
        Next Z
    End If
Next i


ан нет, не правильно, там же еще суммировать надо..
Изменено: Malion - 14.07.2015 13:17:49
Сделать перебор цифр от и до....
 
:)
=ЕСЛИ(ЕНД(ПОИСКПОЗ(N3+1;E:E;0));N3+1;ИНДЕКС(E:E;ПОИСКПОЗ(N3+1;E:E;0)))
Страницы: 1 2 След.
Наверх