powered by simpleCommunicator - 2.0.19     © 2024 Programmizd 02
Map
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Поиск и замена всего столбца(-ов) другими в таблице Excel
7 сообщений из 7, страница 1 из 1
Поиск и замена всего столбца(-ов) другими в таблице Excel
    #40120400
Slava_1987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго всем вечера!

Подскажите подалуйста путь для решения следующей задачи. Есть выгрузка платежей из базы данных в Excel. Нужно ее постоянно оптимизировать для дальнейшей работы. Что нужно:

1. Удалить ненужные столбцы. Нужно прописать определенные имена столбцов так как выгрузка может меняться в зависимости от удаления или добавления столбцов в программе.
2. Удалить все пустые столбцы и строки если таковы имеются (а они есть иногда)
3. Нужно удалить задвоения столбцов. То есть если первый столбец с названием "Amount" находиться в "A:A", значит любой следующий после "A:A" должен быть удален с таким же названием и т.д., но начаться он может и не с "A:A". Оставить только первый слева.
4. Найти три определенных столбца (есть конкретные их имена) и ими заменить другие три столбца. Можно даже вырезать и вставить. Например есть имена (entry date, current name, payment). нужно найти "entry date", вырезать (или скопировать) далее найти поле "process date" и вставить "entry date" вместо "process date". И так все необходимые имена. Потом удалить пустые поля которые остались от (entry date, current name, payment) если было "вырезать"
5. установить фильтр на столбце "Paycat" с следующими значениями (все значения начиная с 2(208, 210, 211, 228 и тд) и 458, и 456).
PS: все делаеться на уровне столбцов, данные в строках не интересуют, кроме фильтра. То есть вырезать, вставлять, копировать можно целыми столбцами.

Что я смог найти на просторах интернета:
Этот код удаляет нужные столбцы, удаляет пустые. Как мне его дописать для моих следующих пунктов?

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Sub DeleteSpecifcColumn()

Dim xFNum, xFFNum, xCount As Integer
Dim xStr As String
Dim xArrName, As Variant
Dim MR, xRg As Range

On Error Resume Next
Set MR = Range("A1:Z1")
xArrName = Array("Document #", "Invoice #", "Objection", "Duplicate?", "Unapproved", "In-House", "RSV Error", "Payment Type ID", "Payment Type Desc", "Payee Type Code", "Entity ID", "Payee Name")
xCount = MR.Count
xStr = xArrName(xFNum)
For xFFNum = xCount To 1 Step -1
Set xRg = Cells(1, xFFNum)
For xFNum = 0 To UBound(xArrName)
xStr = xArrName(xFNum)
If xRg.Value = xStr Then xRg.EntireColumn.Delete
If xRg.Value = 0 Then xRg.EntireColumn.Delete

Next xFNum
Next
 
End Sub

Модератор: Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
Поиск и замена всего столбца(-ов) другими в таблице Excel
    #40120534
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slava_1987,

Попробуйте сделать на Power Query, если у вас Excel 2010+
...
Рейтинг: 0 / 0
Поиск и замена всего столбца(-ов) другими в таблице Excel
    #40120775
Slava_1987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
дело в том, что мне нужно внедрить это как код VBA, чтобы сотрудники могли использовать по нажатию кнопки. Каждый каз после выгрузки данных из БД в Excel им нужно сделать модификации согласно моему посту выше. Вот для чего я хочу код VBA и чтобы они сохранили его в свой PERSONAL.
...
Рейтинг: 0 / 0
Поиск и замена всего столбца(-ов) другими в таблице Excel
    #40120808
Slava_1987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Модифицировал проблему:


Подскажите подалуйста путь для решения следующей задачи. Есть выгрузка платежей из базы данных в Excel. Нужно ее постоянно оптимизировать для дальнейшей работы. Что нужно:

1. Оставить только определенные столбцы (final file). Нужно прописать определенные имена столбцов так как выгрузка может меняться в зависимости от удаления или добавления новых столбцов в программе.
2. Удалить все пустые столбцы и строки если таковы имеются (а они есть иногда) и первую строку в которой только одно значение "FALSE". Она считаеться тоже пустой.
3. Нужно удалить задвоения столбцов (Approved, Amount, Billed Amount, Processed). Обязательно нужно оставить именно первые столбцы начиная слева. У них одинаковые названия но разные значения.
4. Найти три определенных столбца (Processed, Entered, Approved) и данные в них заменить данными из других трех столбцов (Processed Date, Entry Date, Approval Date).
5. Создать новый столбец в диапазоне (A:A) с именем (Late days) и вписать туда формулу (поле "Chk Date" - поле "From")
7. Подсветить цветом значения > 13 в поле "Late days"
8. установить фильтр на столбце "Type" со следующими значениями (все значения начиная с 2(208, 210, 211, 228 и тд) и 492, и 188).
...
Рейтинг: 0 / 0
Поиск и замена всего столбца(-ов) другими в таблице Excel
    #40120809
Slava_1987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Поиск и замена всего столбца(-ов) другими в таблице Excel
    #40120976
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slava_1987,

И все-таки попробуйте на Power Query.
У меня это заняло полчаса.
...
Рейтинг: 0 / 0
Поиск и замена всего столбца(-ов) другими в таблице Excel
    #40121126
Slava_1987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое. Я попробую, но суть именно в том, что пользователям ничего не нужно делать в файле вообще. И название файла (листа) тоже всегда разное будет. Также выбор значений в поле "type" должен быть с фильтром на случай если пользователям нужно добавить еще значение в фильтрации. Я бы конечно предпочел VBA, но вот застрял на условии как найти три определенных столбца, скопировать в них данные (с первой по последнюю строку) и вставить в другие три столбца.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Поиск и замена всего столбца(-ов) другими в таблице Excel
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]