Sub SearchForDeliveryItems() Dim wksMaster As Worksheet, wksSearch As Worksheet Dim rngMaster As Range, rngSearch As Range Set wksMaster = Sheets("Delivery Master List Drop") Set wksSearch = Sheets("For Delivery") With wksMaster Set rngMaster = .Range("A1:A" & .Range("A1").SpecialCells(xlCellTypeLastCell).Row) End With With wksSearch Set rngSearch = .Range("A1:A" & .Range("A1").SpecialCells(xlCellTypeLastCell).Row) End With With rngMaster For Each cll In rngSearch Set c = .Find(cll.Value2, LookIn:=xlValues) If c Is Nothing Then MsgBox cll.Value2 & " not found in the Delivery Master List." End If Next End With End Sub
Excel VBA - возврат списка значений, не найденных в одном столбце
506
art.POMEGRANATE
Я хочу, чтобы Excel VBA, чтобы вернуться, в MessageBox строке все элементы, которые находятся в колонке А из листа Mastersheet, но не находятся в колонке А из листа DeliverySheet .
Имея много проблем с выяснением этого, вот что я получил так далеко:
Private Sub CommandButton5_Click() Dim DeliveryName As Range Dim MasterName As Range Dim MasterSheet As Worksheet Dim DeliverySheet As Worksheet Dim valueToFind Set MasterSheet = Sheets("Delivery Master List Drop") Set DeliveryName = Sheets("For Delivery").Range(Sheets("For Delivery").Cells("A:A")) Set MasterName = Sheets("Delivery Master List Drop").Range(Sheets("Delivery Master List Drop").Cells("A:A")) For i = 3 To 3000 valueToFind = DeliveryName("i,1") For Each MasterName In MasterSheet If Not MasterName.Cells = valueToFind Then MsgBox "The following name is not found in the Delivery Master List" & DeliveryName(i, 1).Value, vbExclamation End If Next MasterName Next i End Sub
Желательно, чтобы окно сообщения возвращало все не найденные элементы (которые также не являются значениями ("")) в списке, который отображается после завершения макроса. Сейчас я просто пытаюсь заставить его хотя бы вернуть одно значение.
Даже после правок я не уверен, что ты пытаешься сделать. Где вопрос? Это сайт вопросов и ответов, и хотя я понимаю, что у вас проблема, я не вижу вопроса.
YetAnotherRandomUser 6 лет назад
1
Это было бы намного проще с помощью вспомогательной колонки. Вы помещаете формулу в один из листов, которая говорит что-то вроде `= IF (A1 = 'For Delivery'! A1,0,1)`, тогда вы можете просто посмотреть на этот столбец на 1 и вывести все, что вам нужно для этой строки. Вы даже можете скрыть столбец, чтобы пользователи не могли видеть ваш чек.
HackSlash 5 лет назад
0
1 ответ на вопрос
0
Michal Rosa
Рабочий код всегда хорош, но где-то здесь мы предпочитаем ответы, которые включают какое-то объяснение. Посмотрите вокруг и посмотрите на ответы с наибольшим количеством голосов - вы поймете, что я имею в виду.
Scott 6 лет назад
0
Похожие вопросы
-
3
Есть ли в Chrome что-то похожее на ключевые слова для поиска в Opera?
-
5
Окно поиска в Chrome
-
3
Мой файл заблокирован в Excel 2007, что происходит?
-
-
2
Есть ли способ заставить Excel 2007 автоматически восстанавливать фоновые файлы, как в MS Word?
-
1
Excel Word Wrap + исчезающий текст
-
1
Простое объединение / очистка с помощью Excel
-
6
В Vista Explorer, как я могу найти слово во всех файлах каталога?
-
7
Как вы поддерживаете Microsoft Excel на полной скорости, даже если у него нет фокуса окна?
-
2
Почему вы не можете копировать / вставлять изображения в Excel, но скриншоты работают?
-
3
Как синхронизировать Excel с таблицей Google Docs