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

Вход

Регистрация

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

 

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

Результаты поиска
krosav4ig Дата: Вторник, 18.12.2018, 10:29 | Сообщение № 1721 | Тема: Добавление схемы в файл xml при импорте данных из Excel
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Если мне не изменяет память, то с помощью xslt можно и данные из excel/word 2007+ ввытянуть, и xsd в выходной xml впихнуть. Надо вспомнить где и как, по-моему, делал пподобное в altova mapforce


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

Сообщение отредактировал krosav4ig - Вторник, 18.12.2018, 10:32
 
Ответить
СообщениеЕсли мне не изменяет память, то с помощью xslt можно и данные из excel/word 2007+ ввытянуть, и xsd в выходной xml впихнуть. Надо вспомнить где и как, по-моему, делал пподобное в altova mapforce

Автор - krosav4ig
Дата добавления - 18.12.2018 в 10:29
krosav4ig Дата: Среда, 19.12.2018, 23:54 | Сообщение № 1722 | Тема: Добавление схемы в файл xml при импорте данных из Excel
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Вспомнить-то вспомнилось, но чтоб пример сделать все времени не хватает, думаю завтро вечерком дойдут до этого руки :)


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

Автор - krosav4ig
Дата добавления - 19.12.2018 в 23:54
krosav4ig Дата: Четверг, 20.12.2018, 23:48 | Сообщение № 1723 | Тема: Добавление схемы в файл xml при импорте данных из Excel
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Для начала нужно провести махинацию с xsd - добавить [vba]
Код
<xs:import namespace="http://www.w3.org/2001/XMLSchema"/>
[/vba] и в том месте, где должна отображаться схема прописать [vba]
Код
<xs:element ref="xs:schema"/>
[/vba] это нужно для корректной разметки с использованием этой схемы (для трансформации эти декларации в xsd не нужны).
Состряпал для примера проект в altova mapforce. Из проекта сгенерировал xslt шаблон. Входным файлом для трансформации служит xsd файл, путь к excel файлу передается через параметр SourceFilePath, папка для сохранения выходного xml файла передается через параметр DestFolder (по умолчанию=папке из SourceFilePath) и имя выходного xml файла передается через параметр DestFile (по умолчанию=имени файла из SourceFilePath). Текст, передаваемый в параметр должен быть заключен в одинарные кавычки.
для трансформации используется бесплатный XSLT процессор ALTOVAXML 2013 после установки нужно добавить папку, в которую он установлен в переменную среды Path
непосредственно для трансформации нужны только исходный xslx, xsd схема и xslt шаблон (в данном случае 3 файла)
сделал 2 варианта обертки - bat[vba]
Код
cd /d .
AltovaXML -xslt2 xsl\main.xslt -in xsd\test1.xsd -param SourceFilePath='%~dp0src\test.xlsx'
pause
[/vba]и vbs[vba]
Код
Dim sFolder
sFolder = Replace(WScript.ScriptFullName, WScript.ScriptName, "")
With CreateObject("AltovaXML.Application").XSLT2
    .InputXMLFileName = sFolder & "xsd\test1.xsd"
    .XSLFileName = sFolder & "xsl\main.xslt"
    .AddExternalParameter "SourceFilePath", "'" & sFolder & "src\test.xlsx'"
    .AddExternalParameter "DestFolder", "'" & sFolder & "'"
    .AddExternalParameter "DestFIle", "'test1.xml'"
    .Execute ""
End With
[/vba]
вместо InputXMLFileName можно использовать InputXMLFromText
[vba]
Код
Dim sFolder
sFolder = Replace(WScript.ScriptFullName, WScript.ScriptName, "")
With CreateObject("AltovaXML.Application").XSLT2
    .InputXMLFromText = "<xs:schema id='NewDataSet' xmlns='' xmlns:xs='http://www.w3.org/2001/XMLSchema' xmlns:msdata='urn:schemas-microsoft-com:xml-msdata'>" & vbCrLf & _
    "<xs:element name='NewDataSet' msdata:IsDataSet='true' msdata:MainDataTable='OrderHeader' msdata:UseCurrentLocale='true'>" & vbCrLf & _
    "<xs:complexType>" & vbCrLf & _
    "<xs:choice minOccurs='0' maxOccurs='unbounded'>" & vbCrLf & _
        "<xs:element name='OrderHeader'>" & vbCrLf & _
        "<xs:complexType>" & vbCrLf & _
        "<xs:sequence>" & vbCrLf & _
        "<xs:element name='Id' type='xs:string' minOccurs='0' />" & vbCrLf & _
        "<xs:element name='Cl' type='xs:string' minOccurs='0' />" & vbCrLf & _
        "</xs:sequence>" & vbCrLf & _
        "</xs:complexType>" & vbCrLf & _
        "</xs:element>" & vbCrLf & _
    "</xs:choice>" & vbCrLf & _
    "</xs:complexType>" & vbCrLf & _
    "</xs:element>" & vbCrLf & _
    "</xs:schema>"
    .XSLFileName = sFolder & "xsl\main.xslt"
    .AddExternalParameter "SourceFilePath", "'" & sFolder & "src\test.xlsx'"
    .AddExternalParameter "DestFolder", "'" & sFolder & "'"
    .AddExternalParameter "DestFIle", "'test1.xml'"
    .Execute ""
End With
[/vba]
для раннего связывания в vba в папке с установленном ALTOVAXML есть файл AltovaXMLLib.tlb
К сообщению приложен файл: testprj.zip (20.3 Kb)


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

Сообщение отредактировал krosav4ig - Пятница, 21.12.2018, 00:16
 
Ответить
СообщениеДля начала нужно провести махинацию с xsd - добавить [vba]
Код
<xs:import namespace="http://www.w3.org/2001/XMLSchema"/>
[/vba] и в том месте, где должна отображаться схема прописать [vba]
Код
<xs:element ref="xs:schema"/>
[/vba] это нужно для корректной разметки с использованием этой схемы (для трансформации эти декларации в xsd не нужны).
Состряпал для примера проект в altova mapforce. Из проекта сгенерировал xslt шаблон. Входным файлом для трансформации служит xsd файл, путь к excel файлу передается через параметр SourceFilePath, папка для сохранения выходного xml файла передается через параметр DestFolder (по умолчанию=папке из SourceFilePath) и имя выходного xml файла передается через параметр DestFile (по умолчанию=имени файла из SourceFilePath). Текст, передаваемый в параметр должен быть заключен в одинарные кавычки.
для трансформации используется бесплатный XSLT процессор ALTOVAXML 2013 после установки нужно добавить папку, в которую он установлен в переменную среды Path
непосредственно для трансформации нужны только исходный xslx, xsd схема и xslt шаблон (в данном случае 3 файла)
сделал 2 варианта обертки - bat[vba]
Код
cd /d .
AltovaXML -xslt2 xsl\main.xslt -in xsd\test1.xsd -param SourceFilePath='%~dp0src\test.xlsx'
pause
[/vba]и vbs[vba]
Код
Dim sFolder
sFolder = Replace(WScript.ScriptFullName, WScript.ScriptName, "")
With CreateObject("AltovaXML.Application").XSLT2
    .InputXMLFileName = sFolder & "xsd\test1.xsd"
    .XSLFileName = sFolder & "xsl\main.xslt"
    .AddExternalParameter "SourceFilePath", "'" & sFolder & "src\test.xlsx'"
    .AddExternalParameter "DestFolder", "'" & sFolder & "'"
    .AddExternalParameter "DestFIle", "'test1.xml'"
    .Execute ""
End With
[/vba]
вместо InputXMLFileName можно использовать InputXMLFromText
[vba]
Код
Dim sFolder
sFolder = Replace(WScript.ScriptFullName, WScript.ScriptName, "")
With CreateObject("AltovaXML.Application").XSLT2
    .InputXMLFromText = "<xs:schema id='NewDataSet' xmlns='' xmlns:xs='http://www.w3.org/2001/XMLSchema' xmlns:msdata='urn:schemas-microsoft-com:xml-msdata'>" & vbCrLf & _
    "<xs:element name='NewDataSet' msdata:IsDataSet='true' msdata:MainDataTable='OrderHeader' msdata:UseCurrentLocale='true'>" & vbCrLf & _
    "<xs:complexType>" & vbCrLf & _
    "<xs:choice minOccurs='0' maxOccurs='unbounded'>" & vbCrLf & _
        "<xs:element name='OrderHeader'>" & vbCrLf & _
        "<xs:complexType>" & vbCrLf & _
        "<xs:sequence>" & vbCrLf & _
        "<xs:element name='Id' type='xs:string' minOccurs='0' />" & vbCrLf & _
        "<xs:element name='Cl' type='xs:string' minOccurs='0' />" & vbCrLf & _
        "</xs:sequence>" & vbCrLf & _
        "</xs:complexType>" & vbCrLf & _
        "</xs:element>" & vbCrLf & _
    "</xs:choice>" & vbCrLf & _
    "</xs:complexType>" & vbCrLf & _
    "</xs:element>" & vbCrLf & _
    "</xs:schema>"
    .XSLFileName = sFolder & "xsl\main.xslt"
    .AddExternalParameter "SourceFilePath", "'" & sFolder & "src\test.xlsx'"
    .AddExternalParameter "DestFolder", "'" & sFolder & "'"
    .AddExternalParameter "DestFIle", "'test1.xml'"
    .Execute ""
End With
[/vba]
для раннего связывания в vba в папке с установленном ALTOVAXML есть файл AltovaXMLLib.tlb

Автор - krosav4ig
Дата добавления - 20.12.2018 в 23:48
krosav4ig Дата: Понедельник, 24.12.2018, 03:43 | Сообщение № 1724 | Тема: Импорт из FoxPro 9.0
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
NotSoEXCELlentUser, может вам из excel подключаться к dbf и забирать данные запросом?
Данные>Получить внешние данные>Из других источников>Из мастера подключения данных>Дополнительно>Далее>
Microsoft Jet 4.0 OLE DB Provider>Далее
выбрать dbf файл, из поля удалить имя файла, оставив только путь папки
на вкладке Дополнительно установить галочку Read и снять Share deny none
на вкладке Все в поле Extended properrties [vba]
Код
DBASE IV;CharacterSet=65001
[/vba]
вместо 65001 свою кодовую страницу


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

Сообщение отредактировал krosav4ig - Понедельник, 24.12.2018, 03:44
 
Ответить
СообщениеNotSoEXCELlentUser, может вам из excel подключаться к dbf и забирать данные запросом?
Данные>Получить внешние данные>Из других источников>Из мастера подключения данных>Дополнительно>Далее>
Microsoft Jet 4.0 OLE DB Provider>Далее
выбрать dbf файл, из поля удалить имя файла, оставив только путь папки
на вкладке Дополнительно установить галочку Read и снять Share deny none
на вкладке Все в поле Extended properrties [vba]
Код
DBASE IV;CharacterSet=65001
[/vba]
вместо 65001 свою кодовую страницу

Автор - krosav4ig
Дата добавления - 24.12.2018 в 03:43
krosav4ig Дата: Понедельник, 24.12.2018, 03:47 | Сообщение № 1725 | Тема: Как решить по другому
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Как решить по другому

Vladimir_Yan, вот тут все написано


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
Как решить по другому

Vladimir_Yan, вот тут все написано

Автор - krosav4ig
Дата добавления - 24.12.2018 в 03:47
krosav4ig Дата: Вторник, 25.12.2018, 09:26 | Сообщение № 1726 | Тема: Изменение подписей горизонтальной оси графика по условию
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте
можно установить числовой формат подписей [vba]
Код
[Красный][<1,5]Основной;Основной
[/vba]


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

Сообщение отредактировал krosav4ig - Вторник, 25.12.2018, 09:26
 
Ответить
СообщениеЗдравствуйте
можно установить числовой формат подписей [vba]
Код
[Красный][<1,5]Основной;Основной
[/vba]

Автор - krosav4ig
Дата добавления - 25.12.2018 в 09:26
krosav4ig Дата: Среда, 26.12.2018, 16:57 | Сообщение № 1727 | Тема: выгрузка файлов в папку по гиперссылкам из Экслель
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
sboy, есть жеж FileCopy
[vba]
Код
Sub sdf()
    On Error Resume Next
    Dim cell As Range, sPath$, sNewPath$, sHref$
    sPath = ThisWorkbook.Path & "\"
    sNewPath = sPath & "Отчет" & Format(Now, "dd.MM.yyyy hh_mm\\")
    MkDir sNewPath
    With ActiveSheet.UsedRange.Columns("K")
        For Each cell In Intersect(.Cells, .Offset(1)).SpecialCells(2, 23).SpecialCells(12).Cells
            sHref = cell.Hyperlinks(1).Address
            FileCopy sPath & sHref, sNewPath & Mid(sHref, InStrRev(sHref, "\") + 1)
        Next
    End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеsboy, есть жеж FileCopy
[vba]
Код
Sub sdf()
    On Error Resume Next
    Dim cell As Range, sPath$, sNewPath$, sHref$
    sPath = ThisWorkbook.Path & "\"
    sNewPath = sPath & "Отчет" & Format(Now, "dd.MM.yyyy hh_mm\\")
    MkDir sNewPath
    With ActiveSheet.UsedRange.Columns("K")
        For Each cell In Intersect(.Cells, .Offset(1)).SpecialCells(2, 23).SpecialCells(12).Cells
            sHref = cell.Hyperlinks(1).Address
            FileCopy sPath & sHref, sNewPath & Mid(sHref, InStrRev(sHref, "\") + 1)
        Next
    End With
End Sub
[/vba]

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

Excel 2007,2010,2013
Beazehuginn, а хде директивы #NAME, #INDEX_LANGUAGE, #CONTENTS_LANGUAGE ?
или вы собираетесь подключать к основному файлу через #INCLUDE? Хде закрывашка [/m]?
нормально просматривается Блокнотом
а Notepad++ показывает, что файл нашпигован нуль-символами через каждый символ

есть не совсем адекватная мысль по поводу трансформации с помощью xslt, но есть сомнения, что это возможно


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеBeazehuginn, а хде директивы #NAME, #INDEX_LANGUAGE, #CONTENTS_LANGUAGE ?
или вы собираетесь подключать к основному файлу через #INCLUDE? Хде закрывашка [/m]?
нормально просматривается Блокнотом
а Notepad++ показывает, что файл нашпигован нуль-символами через каждый символ

есть не совсем адекватная мысль по поводу трансформации с помощью xslt, но есть сомнения, что это возможно

Автор - krosav4ig
Дата добавления - 28.12.2018 в 19:29
krosav4ig Дата: Воскресенье, 30.12.2018, 16:50 | Сообщение № 1729 | Тема: проблемы с сортировкой при применении правил
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
еще вариант
К сообщению приложен файл: 2835775-1.xlsx (9.5 Kb)


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

Сообщение отредактировал krosav4ig - Воскресенье, 30.12.2018, 18:07
 
Ответить
Сообщениееще вариант

Автор - krosav4ig
Дата добавления - 30.12.2018 в 16:50
krosav4ig Дата: Воскресенье, 30.12.2018, 17:55 | Сообщение № 1730 | Тема: 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 | Сообщение № 1731 | Тема: С Новым Годом!
Группа: Друзья
Ранг: Старожил
Сообщений: 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 | Сообщение № 1732 | Тема: Выборка по условию
Группа: Друзья
Ранг: Старожил
Сообщений: 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 | Сообщение № 1733 | Тема: Создание дубликата строки ниже самой себя всего листа
Группа: Друзья
Ранг: Старожил
Сообщений: 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 | Сообщение № 1734 | Тема: Табуляция и подчеркивание
Группа: Друзья
Ранг: Старожил
Сообщений: 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 | Сообщение № 1735 | Тема: Макрос стал удалять не те строки.
Группа: Друзья
Ранг: Старожил
Сообщений: 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 | Сообщение № 1736 | Тема: Макрос стал удалять не те строки.
Группа: Друзья
Ранг: Старожил
Сообщений: 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 | Сообщение № 1737 | Тема: Добавление текущей даты в запрос 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 | Сообщение № 1738 | Тема: удалить из ячейки символы содержащиеся в другой
Группа: Друзья
Ранг: Старожил
Сообщений: 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 | Сообщение № 1739 | Тема: Обработка таблицы 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 | Сообщение № 1740 | Тема: Скачки интерфейса 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
Поиск:

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