Как определить строки, которые имеют одинаковое значение в двух столбцах?
Я пытаюсь определить целую строку, если столбец B И столбец C повторяют значения с помощью сценария VBA. Например, если у меня есть таблица, которая содержит:
ID Age Grade 1 14 90 2 15 78 3 14 90 4 16 86 5 16 86 6 15 89 7 14 88
После запуска скрипта я хочу новый лист со строками, которые повторяют значения в столбце B и столбце C. Таким образом, новый лист будет выглядеть так:
ID Age Grade 1 14 90 3 14 90 4 16 86 5 16 86
Это то, что я имею до сих пор в плане определения строк. Я не так далеко.
- Используйте python для синтаксического анализа только ячеек, отформатированных как входные данные из файла Excel
- excel - строка validate
- Как читать и разбирать файлы excel в Lua?
- Возьмите данные из txt-файла, проанализируйте его и поместите в CSV-файл
- как узнать последний номер строки большого файла excel с помощью обработчика событий sax в java.
Sub ID() Dim LastRowcheck As Long, n1 As Long Dim LastRowcheck2 As Long, n2 As Long With Worksheets("grades") LastRowcheck = .Range("B" & .Rows.Count).End(xlUp).Row LastRowcheck = .Range("C" & .Rows.Count).End(xlUp).Row For n1 = LastRowcheck To 1 Step -1 If .Cells(n1, 1).Value = Cells(n1 + 1, 1).Value And .Cells(n2, 1).Value = Cells(n2 + 1, 1).Value Then '''export to new sheet End If Next n1 End With End Sub
- EXCEL VBA, PARSING & REQUEST UPDATEDATA
- Попытка присоединиться к файлу .dat с файлом .asc с использованием Python или Excel
- Excel, VB - Работа с символами и реформация даты внутри массива
- Импорт необработанного файла определенным образом
- Перенос данных веб-страницы на рабочий лист Excel с использованием VBA
- Тип ячейки листа Excel отображается как Numeric, который на самом деле является типом текста
- Анализ данных в файл CSV
- Формула Excel vba parse
Используйте application.countifs
для идентификации кратных.
Dim lastRowcheck As Long, n1 As Long With Worksheets("grades") lastRowcheck = Application.Max(.Range("B" & .Rows.Count).End(xlUp).Row, _ .Range("C" & .Rows.Count).End(xlUp).Row) For n1 = lastRowcheck To 1 Step -1 If Application.CountIfs(.Columns("B"), .Cells(n1, "B").Value2, .Columns("C"), .Cells(n1, "C").Value2) > 1 Then '''export to new sheet Debug.Print .Cells(n1, "A") & ":" & .Cells(n1, "B") & ":" & .Cells(n1, "C") End If Next n1 End With