Excel: переместите содержимое строки в определенный столбец на основе условия
У меня есть большой файл excel с согласованными столбцами, но они не помещены слишком точно; Пример на фотографии является иллюстрацией моей проблемы; Меня интересует информация после столбца «страна». Поэтому в каждой строке я хотел бы 1. проверить каждую строку, чтобы найти определенную строку символов – в данном случае «Испания». 2. Переместите строку так, чтобы ячейки со найденными строками находились в одном столбце.
В приведенном ниже примере все строки должны быть перемещены так, чтобы «Испания» находилась под столбцом F – упорядочивая остальную информацию с ней.
- Попытка чтения строк из файла Excel
- Оптимизировать код для цикла для более чем 100 000 строк
- Преобразование значения даты в дату
- Суммируйте все слева
- Преобразование файла xlxs в csv
- `10 / 2` оценивается в` 42279.00`?
- C # Open XML SDK 2.0 Экземпляр Excel - диапазон загрузки ячеек из массива строк
- IF = строка заголовка - требуется формула Excel
- Как автоматически удалять снимки при удалении строк?
- Excel добавляет несколько строк
- SSIS Excel определенная ячейка со строками
- Сортировка двух столбцов Excel
- excel 2010 анализирует разделы текстовой строки с переменной длиной текста
Если слово Испания не изменено, используйте этот код VBA:
Sub MoveCoun() Dim LastRow As Long Dim rFind As Range Dim r As String Dim m As Integer LastRow = 1000 For n = 1 To LastRow r = n & ":" & n Range(r).Select With Range(r) Set rFind = .Find(What:="Spain", LookAt:=xlWhole, MatchCase:=False, SearchFormat:=False) If Not rFind Is Nothing Then If rFind.Column < 6 Then m = 6 - rFind.Column Range(Cells(n, 1), Cells(n, m)).Insert Shift:=xlToRight ElseIf rFind.Column > 6 Then m = rFind.Column - 6 Range(Cells(n, 1), Cells(n, m)).Delete Shift:=xlToLeft End If End If End With Next End Sub