Добрый день. Нужна помощь в решении задачи. Думаю, что формулами это сложно будет сделать. Есть база ЛУ около 100 штук. Руками сохраню с сайтов и скопирую в ворд. Затем надо видоизменить таблицы автоматически. Первый лист "лу 1 исходный" (названия могут быть любыми). Строки могут отличаться в плане пустых строк. Сначала надо удалить все пустые строки (чтобы названия колонок не "съехали"), а затем видоизменить таблицу лист "как надо". Наверное лучше автоматически сформировать новый файл, так как после изменения будет уже 200 листов и их потом долго надо удалять. Заранее спасибо если у вас получится это сделать.
Добрый день. Нужна помощь в решении задачи. Думаю, что формулами это сложно будет сделать. Есть база ЛУ около 100 штук. Руками сохраню с сайтов и скопирую в ворд. Затем надо видоизменить таблицы автоматически. Первый лист "лу 1 исходный" (названия могут быть любыми). Строки могут отличаться в плане пустых строк. Сначала надо удалить все пустые строки (чтобы названия колонок не "съехали"), а затем видоизменить таблицу лист "как надо". Наверное лучше автоматически сформировать новый файл, так как после изменения будет уже 200 листов и их потом долго надо удалять. Заранее спасибо если у вас получится это сделать.Mark1976
Добрый вечер. Не совсем понятно зачем копировать в Ворд, здесь вроде бы про Эксель. Если структура всех исходных листов одинаковая, то попробуйте такой макрос. В данном варианте его нужно запускать вручную на каждом листе, Новый лист не нужен, данные преобразуются на том же листе. [vba]
Код
Sub ModifySh() Dim Lr%, i%, Ar, Ar1, Ar2, Cl As Range Lr = Cells(Rows.Count, 1).End(xlUp).Row Ar2 = Array(31, 26, 19, 16, 17, 68, 24) For i = Lr To 1 Step -1 If Cells(i, 1) = "" Then Rows(i).Delete Next Ar = ActiveSheet.UsedRange ActiveSheet.UsedRange.Clear ReDim Ar1(1, 1 To UBound(Ar) / 2) For i = 1 To UBound(Ar) Ar1((i + 1) Mod 2, Int((i + 1) / 2)) = Ar(i, 1) Next Cells(1, 1).Resize(2, 7) = Ar1 For Each Cl In Range("A2:G2") If InStr(Cl, "@") Or InStr(Cl, "://") Then ActiveSheet.Hyperlinks.Add Anchor:=Cl, Address:=Cl.Formula Cl.ColumnWidth = Ar2(Cl.Column - 1) Next With ActiveSheet.UsedRange .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapText = True End With End Sub
[/vba]
Добрый вечер. Не совсем понятно зачем копировать в Ворд, здесь вроде бы про Эксель. Если структура всех исходных листов одинаковая, то попробуйте такой макрос. В данном варианте его нужно запускать вручную на каждом листе, Новый лист не нужен, данные преобразуются на том же листе. [vba]
Код
Sub ModifySh() Dim Lr%, i%, Ar, Ar1, Ar2, Cl As Range Lr = Cells(Rows.Count, 1).End(xlUp).Row Ar2 = Array(31, 26, 19, 16, 17, 68, 24) For i = Lr To 1 Step -1 If Cells(i, 1) = "" Then Rows(i).Delete Next Ar = ActiveSheet.UsedRange ActiveSheet.UsedRange.Clear ReDim Ar1(1, 1 To UBound(Ar) / 2) For i = 1 To UBound(Ar) Ar1((i + 1) Mod 2, Int((i + 1) / 2)) = Ar(i, 1) Next Cells(1, 1).Resize(2, 7) = Ar1 For Each Cl In Range("A2:G2") If InStr(Cl, "@") Or InStr(Cl, "://") Then ActiveSheet.Hyperlinks.Add Anchor:=Cl, Address:=Cl.Formula Cl.ColumnWidth = Ar2(Cl.Column - 1) Next With ActiveSheet.UsedRange .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapText = True End With End Sub
если названия не порядковый номер, то потребуется список листов из которых подтягивать данные. Список можно расположить в столбце в начале или в конце таблицы, будет понятно с какого листа подтянуты данные.И не знаю на ваших объёмах как быстро будет формироваться таблица.
Здравствуйте. Можно и формулами, как в файле. Но если
если названия не порядковый номер, то потребуется список листов из которых подтягивать данные. Список можно расположить в столбце в начале или в конце таблицы, будет понятно с какого листа подтянуты данные.И не знаю на ваших объёмах как быстро будет формироваться таблица.gling