Возможно, я пытаюсь сделать слишком много здесь, но я много часов работал над этим без везения. Я надеюсь, что вы можете помочь.VBA Передача имени диапазона из другого рабочего листа в функцию
Я создаю функцию, единственным параметром которой является именованный диапазон на другом листе в той же книге. Моя проблема в том, что я не могу понять, как передать это имя в функцию и использовать ее.
Моя цель - вызвать функцию для суммирования столбца, указанного именованным диапазоном, на другом листе, называемом клиентскими платежами.
Вот мой код, который работает:
Function PayPerMonth()
PayPerMonth = Application.WorksheetFunction.Sum(Worksheets("Client Payments").Range("C:C"))
End Function
я получаю всего, что является правильным, но, конечно, я указал столбец в функции. Не слишком полезно.
Вот что я пытался, что не работает:
Function PayPerMonth(ColumnToAdd)
PayPerMonth = Application.WorksheetFunction.Sum(Worksheets("Client Payments").Range("ColumnToAdd"))
End Function
Это не работает, когда я удалить кавычки ColumnToAdd, и многие другие варианты я пробовал.
Что я хочу сделать, это ввести = PayPerMonth (MBPADV) или = PayPerMonth (SBTSADV) и т. Д., Чтобы вызвать функцию и нацелиться в правый столбец, где MBPADV и SBTSADV называются столбцами.
Я не вешаю использовать имена столбцов. Это просто делает его более читаемым (для меня, во всяком случае!).
Можно ли это сделать?
Огонь! Спасибо за ваш ответ, FreeMan. Нет имени столбца ColumnToAdd. Я предполагал, что это переменная внутри функции. То, что я хочу сделать, если это возможно, это передать в функцию имя столбца, который я хочу суммировать. Я могу сделать это? – Richard
Я уверен, что мы приближаемся, но все равно нет сигары. В ваших комментариях использования выше вы отмечаете, что функция вызывается из VBA (например, другой функции или Sub). Это не то, что я хочу сделать. – Richard
Я хочу вызвать функцию в нескольких ячейках на листе, например. = PayPerMonth (SBTSADV), = PayPerMonth (MBPADV) и т. Д.где параметр - именованный столбец на другом листе. Фактическая конечная функция намного сложнее этой простой суммы. Вот почему я хочу вызвать функцию в ячейке. Единственный камень преткновения, который у меня есть, - это передать имя столбца в функцию, а затем использовать его в моих расчетах. Я попробовал «Обновление за комментарии:», но это не сработало. – Richard