Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2017, 19:00   #1
victoria0
Новичок
Джуниор
 
Регистрация: 25.11.2017
Сообщений: 2
По умолчанию Необходимо убрать повторяющиеся столбцы

Таблица формируется с помощью заполнения гугл формы, из-за этого появляются повторяющиеся столбцы Необходимо убрать повторяющиеся столбцы используя первый столбец, как главный. Не могу автоматизировать это
Вложения
Тип файла: xlsx Книга1.xlsx (9.2 Кб, 22 просмотров)
victoria0 вне форума Ответить с цитированием
Старый 25.11.2017, 20:13   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Пробуйте. Не понял, что значит "используя первый столбец, как главный".
Код:
Sub bb()
Dim c As Range, r As Range
  For Each c In Range("B1", Cells(1, Columns.Count).End(xlToLeft))
    If WorksheetFunction.CountIf(Range("A1", c), c) > 1 Then
      If r Is Nothing Then Set r = c Else Set r = Union(r, c)
    End If
  Next
  If Not r Is Nothing Then r.EntireColumn.Delete
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 25.11.2017, 20:21   #3
victoria0
Новичок
Джуниор
 
Регистрация: 25.11.2017
Сообщений: 2
По умолчанию

Пробовала сделать) Но данные просто обрезались.
В итоговом варианте должно было быть два ответа по кодом 1401102300003
victoria0 вне форума Ответить с цитированием
Старый 26.11.2017, 17:28   #4
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

В итоговом варианте должно было быть два ответа по кодом 1401102300003

Тогда опишите алгоритм, как обрабатывать столбец с заголовком, который уже был.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 26.11.2017, 23:30   #5
Oldy7
Пользователь
 
Регистрация: 25.02.2012
Сообщений: 28
По умолчанию

Проверяет на заполненность диапазона, кроме заголовков и первого столбца. С первого пустого столбца начинается подсчет столбцов на удаление.
Код:
Sub qwerty()
Dim qq As Range
aa = ActiveSheet.UsedRange.Columns.Count
bb = ActiveSheet.UsedRange.Rows.Count
dd = 0: ff = 0
For a = 2 To aa
cc = 0
For b = 2 To bb
If Cells(b, a) <> Empty Then cc = cc + 1
Next b
If cc = 0 Then
If qq Is Nothing Then
Set qq = Columns(a): ff = ff + 1
Else
Set qq = Union(qq, Columns(a)): ff = ff + 1
End If: End If
Next a
If ff <> 0 Then qq.Delete
End Sub
П.С.: Предыдущий ответ более изящный)

Последний раз редактировалось Oldy7; 27.11.2017 в 00:02.
Oldy7 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как убрать повторяющиеся поля в отчете Silipinss Свободное общение 2 27.07.2017 22:04
Убрать повторяющиеся записи Sizova SQL, базы данных 14 24.04.2017 15:38
Убрать из массива повторяющиеся элементы jirtreck Паскаль, Turbo Pascal, PascalABC.NET 7 13.03.2016 02:42
Дан одномерный массив элементов. Необходимо вывести все не повторяющиеся элементы filimoncc Помощь студентам 3 01.03.2014 13:20
Убрать повторяющиеся слеши (//////) из url. Mod Rewrite TrydORgolik PHP 3 02.10.2010 21:57