Я решил задать этот вопрос на примерах. Я пытался объяснить весь проект, но это выглядело странно, если вы еще не работали над тем же проектом, так что начнем.
Как пользователь кода, который я пишу, вам нужно решить, к каким столбцам вы хотите, чтобы программа фактически захватила, и куда записывать все вычисления. Всего есть девять столбцов, с которыми пользователь может играть, хотя я остановлюсь на первых четырех, чтобы он не стал слишком сложным.
Первые два столбца нужны моей программе для расчетов (поясняется ниже) и являются основой для всего проекта. Давайте назовем их Data_Before и Data_After.
Следующие два столбца - это расчеты, выполненные на основе данных в Data_Before и Data_After. Эти два столбца - Разница и Процент. Как и в заголовках, предполагается, что Diff - это Data_After - Data_Before, а Percent - Diff / Data_Before.
На данный момент столбцы должны быть рядом друг с другом. Таким образом, если Data_Before находится в столбце «A», то Data_After должен появиться в «B» с Diff в «C» и Percent в «D». Это из-за моих вычислений, поступающих из функции записи макроса. Код, который заполняет ячейку в Diff и Percent ниже
' Diff column
ActiveCell.FormulaR1C1 = "=RC[-1]-RC[-2]"
' Percent column
ActiveCell.FormulaR1C1 = "=RC[-1]/RC[-3]"
Извините за странную раскраску в коде, "Diff column" и "Percent column" - это комментарии. В любом случае, здесь у нас есть FormulaR1C1, которая делает программу негибкой. Вопрос заключается в том, как найти расстояние между столбцом Diff и столбцом Data_Before или Data_After, чтобы пользователь мог иметь Data_Before в столбце «A» и Data_After в столбце «B», но столбцы Diff и Percent, где бы они ни хотели?
Извините за длину вопроса.