Я работаю над моделью, которая требует сортировки данных в диапазоне по дате, прежде чем копировать данные в другой шаблон на другом листе. Каждая строка имеет формулу, которая извлекает данные из Bloomberg, поэтому, даже если ячейка выглядит пустой, excel распознает, что в ячейке есть контент. Сортировка столбца даты, поскольку он не работает, поскольку excel не распознает данные, которые Bloomberg тянет как дату, поэтому он будет отсортирован с A по Z, который вместо этого скопирует даты.Excel: работа над сортировкой таблиц по дате с пустыми строками в диапазоне
Чтобы обойти это, я вставил и смежный столбец с формулой (используя ячейку A1 в качестве примера) "= (A1 + 0)", которая затем позволяет сортировать столбец от нового до старого. Проблема здесь в том, что если ячейка A1 не отображает дату (другими словами, она кажется пустой, но ячейка содержит формулу, которая оставляет ячейку пустой, если ни одна дата не вытащена), она возвращает значение #VALUE! ошибка и сортировка новых по старым помещали бы ошибки наверху (спасибо Excel за эту фантастическую функцию, кстати).
Чтобы обойти эту новую проблему, я заменил приведенную выше формулу в ячейке «= IFERROR (A1 + 0,1)», которая дает мне дату 1/1/1900. Отлично, теперь данные сортируются так, как я хочу, но у меня есть куча древних дат, которые просто делают мой конечный продукт уродливым.
У меня есть два вопроса: как я могу использовать VBA для удаления данных в ячейках, где дата равна 1 (которая показывает дату 1/1/1900), и только те ячейки? Или, альтернативно, только копирование строк над ячейкой, которая содержит 1/1/1900. Это относительно небольшое количество клеток, на которые это повлияет, максимум 40.
Второй; есть ли другой способ сортировки данных с помощью VBA, который мне не хватает, что может быть более эффективным?
Я не вижу, почему '= (A1 + 0)' приводит к ошибке. Так или иначе. что, если вы попробуете '= IFERROR (A1 + 0," ")'? –
Если формула в ячейке A1 не вытягивает дату, она обрабатывается как текст excel. Извиняется, что я не был более ясен в этой ячейке, на самом деле не пуст, он просто не вытаскивает дату из Bloomberg из-за отсутствия Cusip в другой ячейке. Формула «IFERROR» работает при очистке внешнего вида, однако, когда я сортирую столбец fron New to Old, сначала он пустует. Это создает проблему с количеством X пустых строк вверху. Благодарим за помощь, я отредактирую вопрос, чтобы уточнить проблему с помощью «A1». – Jon0311
Хорошо, мы можем написать mcro, чтобы отсортировать диапазон правильно сразу. какой диапазон вы хотите отсортировать и по какому столбцу? –