У меня есть два столбца данных, A и B. Я хочу найти пустые ячейки в столбце B, а затем скопировать данные из соответствующей ячейки в столбце A, если A также не пуст.Макро Найти пустые ячейки и заменить
ответ
Я бы использовать SpecialCells:
Sub fillblanks()
Dim rngBlanks As Range
Dim rng As Range
Dim cl As Range
Set rng = ActiveSheet.UsedRange.Columns(2)
Set rngBlanks = rng.SpecialCells(xlCellTypeBlanks)
For Each cl In rngBlanks.Cells
With cl
If (.Value = "") And (.Offset(0, -1).Value <> "") Then
.Value = .Offset(0, -1).Value
End If
End With
Next
End Sub
Забавно, играя с моим ответом против вашего, я решил, что проверю ваш код, также удалив строку, которая проверяет пробел в смещении. Это на самом деле замедлил ваш юнит почти на 33%. Имеет смысл, потому что проверка выполняется намного быстрее, чем модификация ячейки. Но я не понимал, что это замедлит его на 33%. Не уверен, знаете ли вы, что это было бы быстрее, когда вы написали бы это, или вы просто следуете инструкциям Аскерса, но я нашел это интересным. Я загружу образец учебника, если вы заинтересованы в том, чтобы играть с ним. – user2140261
Я предварительно загрузил образец книги [здесь] (http://www.mediafire.com/download/b8sxpkgvsizak60/Book1.xlsm). – user2140261
Я просто следил за рекомендациями, даже не думая о производительности, но это имеет смысл - любое изменение объектов рабочего листа занимает много времени. –
Sub Sample2()
On Error Resume Next
With Columns("B").SpecialCells(xlCellTypeBlanks)
.FormulaR1C1 = "=RC[-1]"
.Value = .Value
End With
End Sub
Это не делает так, как вы спросите, как если бы не пропустить пустую ячейку, если ячейка А является пустым, Это потому, что я не чтобы понять, почему замена и пустой пробел будет проблемой. если есть очень простое исправление, просто изменяя .FormulaR1C1 = "=RC[-1]"
, чтобы принять во внимание пробелы.
Нет необходимости в VBA. Выберите ColumnB, ДОМОЙ> Редактирование, Найти & Выбрать, Go To Special ... Выбрать Пробелы (только),
=
←, Ctrl +Введите.
- 1. Как найти пустые ячейки в datatable и заменить 0
- 2. Найти и заменить пустые места в Notepad ++
- 3. Заменить пустые ячейки содержимым строки
- 4. Заменить пустые ячейки в SQL?
- 5. Заменить пустые ячейки с характером
- 6. Найти и заменить ячейки звездочкой, *
- 7. Найти и заменить внутри ячейки
- 8. VBA Найти пустые ячейки и вставить текст
- 9. Найти ячейки, ссылающиеся на пустые ячейки
- 10. Как заменить пустые ячейки на 0?
- 11. Макро, чтобы найти ячейки со значением и заменить со смежной ячейкой
- 12. Найти и заменить значение ячейки плагином Datatables
- 13. Заполните пустые ячейки (изменение)
- 14. VBA - найти пустые ячейки, установленные равными «EMPTY»
- 15. AWK как найти только в колонке 2 пустые ячейки и заменить текст
- 16. Найти совпадающие строки и пустые ячейки с повторяющимися значениями
- 17. Используйте смещение, чтобы найти пустые ячейки и диапазон вставки значений
- 18. Как заполнить пустые ячейки?
- 19. Коммутационные ячейки Макро - Странное поведение
- 20. Макро для изменения значения ячейки
- 21. Как окрасить пустые ячейки
- 22. Найти и заменить пустые строки в списке Ширина Python
- 23. У COUNTIFS игнорировать все пустые ячейки (= пустые ячейки и ячейки, содержащие "")
- 24. Как заменить пустые ячейки на NA в R?
- 25. Заменить пустые ячейки с различными значениями/символов в Bash
- 26. Как заменить NaN вектора на пустые ячейки в matlab
- 27. Заменить пустые ячейки значениями NULL в большом количестве столбцов
- 28. UITableView возвращает пустые ячейки
- 29. Креветка PDF и пустые ячейки базы данных?
- 30. TableView показывает пустые ячейки
Будут ли какие-либо проблемы, если вы скопировали пустую ячейку из 'A' в пустую ячейку в' B'? – user2140261
no - я просто не хочу перезаписывать контент в B, если он уже существует – user2497437