Я собираюсь предположить, что вы, как и многие люди, смущены тем, как даже начать, а не то, что вы пытаетесь использовать этот сайт в качестве бесплатного репозитория для макросов.
Имея это в виду, я собираюсь дать вам ссылки и инструменты, чтобы сделать это для себя. Я обсужу тип VBA, который я бы использовал, чтобы решить эту проблему, чтобы у вас были доступные условия для поиска.
Прежде всего, вам нужна командная кнопка. Самый простой способ получить это - использовать вкладку «Разработчик» на ленте. Вы можете узнать об этом here. Как только вы получите кнопку, вам нужно будет присвоить ей макрос. Подробнее об этом here. Я бы предложил кнопку управления формой, поскольку она немного проще и может отлично справиться с вашей задачей.
Прежде чем вы сможете назначить макрос, вам нужно построить макрос. Excel-Easy покажет вам, как добраться до редактора VBA через графический интерфейс, или вы можете нажать ALT + F11.
Во-первых, вам понадобится коробка ввода. Информацию об этом можно найти по номеру MSDN. В этой статье также есть некоторые примеры, чтобы добиться этого.
Вы хотите назначить входной переменной такой же, как и на OzGrid. Основываясь на вашем описании, я бы сказал, что вам нужен string.
Теперь вам понадобится For Each...Next
loop. Что-то вроде этого:
For Each Worksheet in ThisWorkBook.Worksheets
'more code here
Next Worksheet
Для этого, вы хотите узнать о Worksheet, ThisWorkBook и Worksheets.
Внутри этого цикла вам нужно будет найти последнюю строку каждого листа. Это очень обычная вещь, когда вы работаете с Excel и можете найти много мест, таких как The Spreadsheet Guru. Как только вы это сделаете, вам нужно определить диапазон, используя последнюю строку. Эта последняя ссылка также должна помочь вам.
Как только у вас есть свой диапазон, пришло время использовать метод Find. Первый пример этой страницы - это то, что вы собираетесь делать. Вы просто будете использовать эту переменную, мы установили ввод раньше, а не номер 2, и вам не нужно будет его заменять. Это использует With
statement, a If
statement (article at Tech On The Net), a Do While
loop и Not
operator.
Теперь, каждый раз, когда вы его находите, вы хотите его переместить. Чтобы убедиться, что вы не просто вставляете всю соответствующую информацию друг в друга, вам нужно будет установить последнюю строку для вашей первой страницы. Затем вы можете использовать Value
property, чтобы быстро и легко перемещать данные из того места, где он находится на первом листе. Обязательно добавьте 1 к последней строке, когда вы передадите значение, или оно всегда будет просто переносить его на последнюю строку, а не на следующую строку под ней.
Удачи!
ПРИМЕЧАНИЕ. Я специально упомянул некоторые сайты, на которых я получил эти ссылки. Это довольно хорошие ссылки. Для получения дополнительной информации посмотрите here. Кроме того, Google - твой друг;). Если у вас есть особенно трудное время в любом разделе этого, вы всегда можете опубликовать его как новый вопрос для этой конкретной проблемы.
Так в чем ваш вопрос? Никто не собирается писать ваш код для вас; однако, если у вас есть код и возникают проблемы с определенным элементом, люди будут более склонны помогать. – Tas
Есть много хороших учебных пособий excel vba. С несколькими часами учебы вы, вероятно, можете забрать основы и получить больше указаний. – MatthewD