Доброго всем утра и хорошего дня! Помогите, пожалуйста, с макросом, чтобы из таблицы-мутанта, которую выгружают стандартные средства 1С 8.3 в Excel, получить таблицу, удобную для дальнейшей работы. Ширина таблицы и шапка всегда одинаковы.
Доброго всем утра и хорошего дня! Помогите, пожалуйста, с макросом, чтобы из таблицы-мутанта, которую выгружают стандартные средства 1С 8.3 в Excel, получить таблицу, удобную для дальнейшей работы. Ширина таблицы и шапка всегда одинаковы.Мурад
Данные фактически находятся в колонках A, G, L, P, X, AC, AF. Как по мне, проще их копировать на другой лист, чем разбираться с тем что твориться на первом
Данные фактически находятся в колонках A, G, L, P, X, AC, AF. Как по мне, проще их копировать на другой лист, чем разбираться с тем что твориться на первомМВТ
МВТ, вы имеете в виду копировать значения каждой соответствующей колонки A-AF в столбцы A-G? Хмм... интересная мысль! А как подсказать макросу точнее диапазон копируемых ячеек? Таблица по вертикали может быть сдвинута на разное количество строк, но в левом верхнем углу начинается всегда со слова "Счет"
МВТ, вы имеете в виду копировать значения каждой соответствующей колонки A-AF в столбцы A-G? Хмм... интересная мысль! А как подсказать макросу точнее диапазон копируемых ячеек? Таблица по вертикали может быть сдвинута на разное количество строк, но в левом верхнем углу начинается всегда со слова "Счет"Мурад
Мне бы строчку для счетчика: посчитать количество строк в столбце A от ячейки со значением "Счет" вниз до первой пустой ячейки в столбце A... Далее я уже скопирую столбцы с посчитанным количеством ячеек
Мне бы строчку для счетчика: посчитать количество строк в столбце A от ячейки со значением "Счет" вниз до первой пустой ячейки в столбце A... Далее я уже скопирую столбцы с посчитанным количеством ячеекМурад
Я себе это примерно так представлял UPD переделал, чтобы только низ таблицы брался [vba]
Код
Sub tt() Dim L As Long: L = Cells(Rows.Count, 1).End(xlUp).Row Dim L1 As Long: L1 = Range("A" & L).CurrentRegion.Row Dim J As Long Dim Arr: Arr = Split("A G L P X AC AF") Dim Rng As Range: Set Rng = Sheets("Ëèñò1").Range("A1:A" & L - L1 + 1) For J = 0 To UBound(Arr) Rng.Offset(0, J).Value = Range(Arr(J) & L1 & ":" & Arr(J) & L).Value Next End Sub
[/vba]
Я себе это примерно так представлял UPD переделал, чтобы только низ таблицы брался [vba]
Код
Sub tt() Dim L As Long: L = Cells(Rows.Count, 1).End(xlUp).Row Dim L1 As Long: L1 = Range("A" & L).CurrentRegion.Row Dim J As Long Dim Arr: Arr = Split("A G L P X AC AF") Dim Rng As Range: Set Rng = Sheets("Ëèñò1").Range("A1:A" & L - L1 + 1) For J = 0 To UBound(Arr) Rng.Offset(0, J).Value = Range(Arr(J) & L1 & ":" & Arr(J) & L).Value Next End Sub
МВТ, Великолепно! То, что надо. Более того, меняя буквы внутри функции Split имеется возможность формировать выходную таблицу с нужными столбцами! Спасибо огромное!
МВТ, Великолепно! То, что надо. Более того, меняя буквы внутри функции Split имеется возможность формировать выходную таблицу с нужными столбцами! Спасибо огромное!Мурад