В excel открыт xml файл. В нем есть столбцы RowNum, RowNum2, ...RowNum9, RowNum10. (столбца Rownum1 нет) Если открыть другой xml, то некоторых столбцов RowNum* может не быть. Нужно среди всех значений в этих столбцах найти максимальное значение.
В excel открыт xml файл. В нем есть столбцы RowNum, RowNum2, ...RowNum9, RowNum10. (столбца Rownum1 нет) Если открыть другой xml, то некоторых столбцов RowNum* может не быть. Нужно среди всех значений в этих столбцах найти максимальное значение.SergeyKorotun
Давайте уточнять. Если такие столбцы все же есть, нам надо получить одно значение из всех столбцов(max)? Куда его выводить? xml всегда открывается отформатированный как "таблица"? Или лучше работать с данными, как с диапазоном? Столбцы RowNum, RowNum2, ...RowNum9 всегда идут подряд, или могут перемежаться столбцами с другими названиями? Не обещаю дать быстрое решение, я пока не совсем свободен(так, между делом пишу), но если не я, то другие форумчане ответят. Судя по всему, задача несложная.
Давайте уточнять. Если такие столбцы все же есть, нам надо получить одно значение из всех столбцов(max)? Куда его выводить? xml всегда открывается отформатированный как "таблица"? Или лучше работать с данными, как с диапазоном? Столбцы RowNum, RowNum2, ...RowNum9 всегда идут подряд, или могут перемежаться столбцами с другими названиями? Не обещаю дать быстрое решение, я пока не совсем свободен(так, между делом пишу), но если не я, то другие форумчане ответят. Судя по всему, задача несложная.KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Если такие столбцы все же есть, нам надо получить одно значение из всех столбцов(max)?
Да, только одно, а если столбцов нет (пустой отчет), то 0. Это максимальное значение - число строк в таблице отчета. Excel некоректно импортирует таблицу из xml. Каждый новый столбец попадает на новые строки вместе с соответствующим столбцом RowNum*. Мне нужно собрать правильную таблицу, чтобы она была как в отчете.
xml всегда открывается отформатированный как "таблица"? Или лучше работать с данными, как с диапазоном?
Вот это я не совсем понял. Я сам с макроса открываю в новой книге первый xml, переношу его на книгу, с которой запускался макрос, но не один к одному нужно перенести, а преобразовать в правильную таблицу. Потом то же самое нужно проделать со вторым xml, потом с третьим и т.д. пока не переберутся все xml.
Столбцы RowNum, RowNum2, ...RowNum9 всегда идут подряд, или могут перемежаться столбцами с другими названиями?
Не подряд. Но столбец с большим номером не может предшествовать столбцу с меньшим номером. Здесь было бы неплохо занести наименования столбцов в массив и обрабатывать только столбцы "RowNum*". Это было бы мне пособием для сборки таблицы в нормальный вид.
Если такие столбцы все же есть, нам надо получить одно значение из всех столбцов(max)?
Да, только одно, а если столбцов нет (пустой отчет), то 0. Это максимальное значение - число строк в таблице отчета. Excel некоректно импортирует таблицу из xml. Каждый новый столбец попадает на новые строки вместе с соответствующим столбцом RowNum*. Мне нужно собрать правильную таблицу, чтобы она была как в отчете.
xml всегда открывается отформатированный как "таблица"? Или лучше работать с данными, как с диапазоном?
Вот это я не совсем понял. Я сам с макроса открываю в новой книге первый xml, переношу его на книгу, с которой запускался макрос, но не один к одному нужно перенести, а преобразовать в правильную таблицу. Потом то же самое нужно проделать со вторым xml, потом с третьим и т.д. пока не переберутся все xml.
Столбцы RowNum, RowNum2, ...RowNum9 всегда идут подряд, или могут перемежаться столбцами с другими названиями?
Не подряд. Но столбец с большим номером не может предшествовать столбцу с меньшим номером. Здесь было бы неплохо занести наименования столбцов в массив и обрабатывать только столбцы "RowNum*". Это было бы мне пособием для сборки таблицы в нормальный вид.SergeyKorotun
[/vba] Это полный перечень наименований столбцов. Никаких дополнительных столбцов быть не может, а вот отсутствовать некоторые столбцы могут, причем в разных файлах - разные.
[/vba] Это полный перечень наименований столбцов. Никаких дополнительных столбцов быть не может, а вот отсутствовать некоторые столбцы могут, причем в разных файлах - разные.SergeyKorotun
Public Sub www() Dim lc&, i&, lr&, m&, mx& lr = Me.UsedRange.Rows.Count lc = Me.[a1].End(xlToRight).Column For i = 1 To lc If InStr(1, Me.Cells(1, i), "ROWNUM", 1) Then m = Application.Max(Range(Me.Cells(1, i), Me.Cells(lr, i))) If m > mx Then mx = m End If Next MsgBox mx End Sub
[/vba]
По старттопику: [vba]
Код
Public Sub www() Dim lc&, i&, lr&, m&, mx& lr = Me.UsedRange.Rows.Count lc = Me.[a1].End(xlToRight).Column For i = 1 To lc If InStr(1, Me.Cells(1, i), "ROWNUM", 1) Then m = Application.Max(Range(Me.Cells(1, i), Me.Cells(lr, i))) If m > mx Then mx = m End If Next MsgBox mx End Sub