Я новичок в программировании и некоторое время озадачивался этой проблемой. Я подозреваю, что решение будет включать вложенные условные обозначения и/или определенную пользователем функцию. У меня есть таблица, похожая на этот, который был отсортирован от самого маленького до самого большого в колонке «лист #»:Excel VBA Последовательные и не последовательные номера конкатенации
QTY Type Sheet#
1 B 1000
5 B 1001
3 B 1002
2 B 1005
7 B 1009
4 B 1010
2 B 1010
3 B 1010
1 B 1011
2 B 1012
6 B 1013
8 B 1013
1 B 1015
1 B 1015
2 B 1016
Есть несколько вещей, чтобы рассмотреть: Некоторые из номеров листов являются дубликатами, некоторые из номеров листов (например, 1006 через 1008 отсутствуют в списке выше) некоторые из номеров листов являются последовательными, некоторые из них являются дубликатами, а затем последовательно со следующим номером листа (как в 1010, 1010, 1010, 1011)
Результат, который мне нужно произвести, состоит из трех ячеек: всего количества, перевода буквы (как в «В» означает «Луч» и конкатенации номеров листов, которые будут читать следующим образом:
QTY Type Sheet#
48 Beams On sheets 1000 to 1002, 1005, 1009 to 1013, 1015 and 1016
Перевод с «B» на «Балки» - это только один случай. У меня есть другая таблица на отдельном листе, в котором перечислены все типы, например. B = луч, C = колонка, BR = скоба, PS = опоры для труб и т. Д.
Любое руководство будет оценено очень сильно.
Количество может быть достигнуто с помощью 'sumif', но вам, вероятно, понадобится vba для отдыха. Если вы не собираетесь прилагать никаких усилий, нанимайте кого-то для выполнения этой работы. – findwindow
Показать усилие? У меня около двух недель опыта работы с VBA. Мой вопрос задает вопрос о том, КАК выполнить эту задачу, используя VBA. Я не прошу никого делать всю работу. Я думал, что смысл этого сайта состоял в том, чтобы задавать вопросы ?! – FatMunkey
Пожалуйста, смотрите [как спросить] (http://stackoverflow.com/help/how-to-ask). – findwindow