Нужно отрегулировать это - PullRequest
0 голосов
/ 18 июня 2020

Кто-то из моей компании создал этот код для автоматического изменения данных в электронной таблице. Я вчера написал здесь вопрос и спросил об этом же.

Я думаю, что это код, который мне нужно использовать, но он мне нужен для сравнения столбца G с F. Как мне написать этот код, чтобы сделать который?

ActiveCell.FormulaR1C1 = "=(RC[-4]-RC[16])/RC[-4]*100" 
       -- This code compares column G to column C. 
          I need it to compare column G to F.

Спасибо, что нашли время мне помочь. Я ничего не знаю о коде.

Ответы [ 2 ]

0 голосов
/ 18 июня 2020
Option Explicit
Sub Main()
Dim Check as Boolean
'Call the function, on the row you want 

Check = Compare_Rng(1) 'Or any other integer value it will return True if same and False if not

End Sub

Private Function Compare_Rng(RowCnt as Integer) as Boolean

If Sheets("Sheet Name").Range("G" & RowCnt) = Sheets("Sheet Name").Range("F" & RowCnt) Then  
Compare_Rng = True
Else
Compare_Rng = False
End if

End Function

Если вы хотите вставить формулу, вы можете сделать это ниже

    Dim RowNr as Integer
    RowNr = ActiveCell.Row
    ActiveCell = "=G" & RowNr & "=F" & RowNr
0 голосов
/ 18 июня 2020

Приведенная вами формула не сравнивает столбец G со столбцом C: он сравнивает столбец -4 со столбцом 16 на основе ячейки, в которой вы сейчас находитесь (так называемый ActiveCell в вашем коде). Это означает, что разница между обоими столбцами составляет 20 столбцов, что больше, чем разница между G и C (например, я бы предпочел go для столбцов W и C).

Фактически, ваша формула вычисляет процентную разницу между упомянутыми столбцами (от -4 до 16), например

In column -4, value 5.
In column 16, value 6.
The result of your formula will be 20 (from 5 to 6, there is an increase of 20%).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...