сначала отобразить все доступные уникальные даты

#excel #vba

#excel #vba

Вопрос:

У меня есть скрипт VBA, который принимает входные данные от пользователя для выполнения поиска и замены, хочет сначала отобразить все доступные уникальные даты

Я написал этот скрипт VBA для выполнения поиска и замены, но я хочу добавить сюда еще одну функциональность. сначала он должен отобразить список всех отдельных дат, доступных в столбце, а после этого мы можем выполнить поиск и замену*

 Sub dateupdation()

Dim sht As Worksheet
Dim fnd As Date
Dim rplc As Date

fnd = InputBox("Enter date")
rplc = InputBox("Enter updated date")

For Each sht In ActiveWorkbook.Worksheets
    sht.Cells.Replace what:=fnd, Replacement:=rplc, _
    LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
    SearchFormat:=False, ReplaceFormat:=False
Next sht
End Sub
  

Комментарии:

1. Поддерживает ли ваша версия Excel UNIQUE формулу? В противном случае вы можете выполнять цикл и сохранять уникальные значения в Scripting.Dictionary .

2. Позвольте мне проверить и попробовать цикл, и я вернусь за любой помощью, спасибо за предложение, Бен

3. Находится ли код в ActiveWorkbook или в другой книге? Куда вы будете помещать уникальные значения (рабочий лист, столбец)? Откуда вы их возьмете (столбец на каждом листе)? Есть ли даты вне столбцов? Если нет, вам следует ограничить поиск (замену) этими столбцами. Пожалуйста, уточните.

4. на экране должны появиться уникальные значения, расположенные в активной книге, чтобы мы знали, какие все уникальные даты доступны, а затем запрашивали ввод пользователя для замены

5. Sub dateupdation () Dim sht как рабочий лист Dim fnd как дата Dim rplc Как дата ActiveSheet. Диапазон («C3:C29»). Действие расширенного фильтра:=xlFilterCopy, CopyToRange:=ActiveSheet. Диапазон («H3»), уникальный: = True fnd = InputBox(«Введите дату») rplc = InputBox («Введите обновленную дату») Для каждого sht в ActiveWorkbook. Рабочие листы sht. Ячейки. Замените что:=fnd, Replacement:=rplc, _ LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _ SearchFormat:=False, ReplaceFormat:=False Рядом с столбцами sht («H»). Удалить конечный подраздел