#excel #vba
#excel #vba
Вопрос:
Ниже приведены два примера кода, который я надеюсь включить в один макрос, но я знаю приложение.Объединение имеет свои пределы. Я попытался настроить все области и тип сделки Idx, но не смог получить правильный синтаксис для диапазонов. Не мог бы кто-нибудь, пожалуйста, взглянуть на это и сообщить мне, как лучше всего сконденсировать это в один макрос? Буду признателен за любую помощь. Спасибо.
For Each cell In Worksheets("GL").Range("D1:D2000")
If cell.Value = "Computer Checks" Then
If MyCount = 1 Then Set NewRange = cell.Offset(0, 1)
Set NewRange = Application.Union(NewRange, cell.Offset(0, 1))
MyCount = MyCount 1
End If
Next cell
For Each cell In Worksheets("BS").Range("D1:D2000")
If cell.Value = "CHECK PAID" Then
If MyCount = 1 Then Set NewRange = cell.Offset(0, -3)
Set NewRange = Application.Union(NewRange, cell.Offset(0, -3))
MyCount = MyCount 1
End If
Next cell
Комментарии:
1. Можете ли вы объяснить, что вы пытаетесь сделать, не столько код, сколько в более широких терминах? Я полагаю, вы понимаете, что
Union
это не работает на разных листах, но не совсем ясно, что вы хотите делать сNewRange
илиMyCount
.2. Если бы объединение на разных листах сработало , то что бы вы делали с этим диапазоном?
3. Привет. Спасибо вам обоим за ответ! Я ищу определенную фразу в ячейке, и если Excel находит ее, я заставляю его вставлять данные из определенных столбцов в этой строке в определенные столбцы сводного листа. Например, если в какой-либо из ячеек столбца D на листе с именем «GL» есть фраза «Компьютерные проверки», я вставляю дату, номер записи в журнале, получателя платежа, номер чека и сумму в другом месте. Другой пример — другая сторона с более или менее той же информацией. Затем я могу использовать формулы для проверки соответствия между наборами данных.
4. Вы хотите вставить данные из таблицы GL в консолидированный лист, затем данные из таблицы BS под данными GL и так далее? Если это так, просто запишите данные после выполнения цикла по листу. В качестве альтернативы вы можете загрузить данные непосредственно в массив, а затем записать массив в консолидированный лист, когда закончите.
5. Они расположены рядом друг с другом, так что я могу «показать работу» и сделать так, чтобы она была легко интерпретирована другими. Моя цель — создать один большой макрос, чтобы им не приходилось запоминать, в каком порядке их выполнять. Я хочу, чтобы коллеги видели, какие данные необходимы для перекрестной проверки, но не обязательно хочу, чтобы они начинали вырезать и вставлять книгу или выполнять ВПР ко всем чертям, потому что это приводит к утечке данных.