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

 

= Мир MS Excel/Изменить таблицы на всех листах. - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Изменить таблицы на всех листах.
Mark1976 Дата: Воскресенье, 22.06.2025, 12:17 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 815
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
Добрый день. Нужна помощь в решении задачи. Думаю, что формулами это сложно будет сделать. Есть база ЛУ около 100 штук. Руками сохраню с сайтов и скопирую в ворд. Затем надо видоизменить таблицы автоматически. Первый лист "лу 1 исходный" (названия могут быть любыми). Строки могут отличаться в плане пустых строк. Сначала надо удалить все пустые строки (чтобы названия колонок не "съехали"), а затем видоизменить таблицу лист "как надо". Наверное лучше автоматически сформировать новый файл, так как после изменения будет уже 200 листов и их потом долго надо удалять. Заранее спасибо если у вас получится это сделать.
К сообщению приложен файл: baza_lu.xlsx (10.7 Kb)
 
Ответить
СообщениеДобрый день. Нужна помощь в решении задачи. Думаю, что формулами это сложно будет сделать. Есть база ЛУ около 100 штук. Руками сохраню с сайтов и скопирую в ворд. Затем надо видоизменить таблицы автоматически. Первый лист "лу 1 исходный" (названия могут быть любыми). Строки могут отличаться в плане пустых строк. Сначала надо удалить все пустые строки (чтобы названия колонок не "съехали"), а затем видоизменить таблицу лист "как надо". Наверное лучше автоматически сформировать новый файл, так как после изменения будет уже 200 листов и их потом долго надо удалять. Заранее спасибо если у вас получится это сделать.

Автор - Mark1976
Дата добавления - 22.06.2025 в 12:17
i691198 Дата: Воскресенье, 22.06.2025, 16:40 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 423
Репутация: 131 ±
Замечаний: 0% ±

2016
Добрый вечер. Не совсем понятно зачем копировать в Ворд, здесь вроде бы про Эксель. Если структура всех исходных листов одинаковая, то попробуйте такой макрос. В данном варианте его нужно запускать вручную на каждом листе, Новый лист не нужен, данные преобразуются на том же листе.

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]
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 = Тrue End WithEnd Sub
[/vba]

Автор - i691198
Дата добавления - 22.06.2025 в 16:40
gling Дата: Воскресенье, 22.06.2025, 19:00 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2643
Репутация: 739 ±
Замечаний: 0% ±

2010
Здравствуйте.
Можно и формулами, как в файле. Но если
Цитата Mark1976, 22.06.2025 в 12:17, в сообщении № 1 ( писал(а)):
названия могут быть любыми
если названия не порядковый номер, то потребуется список листов из которых подтягивать данные. Список можно расположить в столбце в начале или в конце таблицы, будет понятно с какого листа подтянуты данные.И не знаю на ваших объёмах как быстро будет формироваться таблица.
К сообщению приложен файл: 0631501.xlsx (15.4 Kb)


ЯД-41001506838083
 
Ответить
СообщениеЗдравствуйте.
Можно и формулами, как в файле. Но если
Цитата Mark1976, 22.06.2025 в 12:17, в сообщении № 1 ( писал(а)):
названия могут быть любыми
если названия не порядковый номер, то потребуется список листов из которых подтягивать данные. Список можно расположить в столбце в начале или в конце таблицы, будет понятно с какого листа подтянуты данные.И не знаю на ваших объёмах как быстро будет формироваться таблица.

Автор - gling
Дата добавления - 22.06.2025 в 19:00
Mark1976 Дата: Воскресенье, 22.06.2025, 20:36 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 815
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
i691198, спасибо. Все работает.
 
Ответить
Сообщениеi691198, спасибо. Все работает.

Автор - Mark1976
Дата добавления - 22.06.2025 в 20:36
Mark1976 Дата: Воскресенье, 22.06.2025, 20:36 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 815
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
gling, спасибо. Все работает.
 
Ответить
Сообщениеgling, спасибо. Все работает.

Автор - Mark1976
Дата добавления - 22.06.2025 в 20:36
  • Страница 1 из 1
  • 1
Поиск:

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