Я хочу выполнить валидацию по итоговым значениям на основной листе. Различные итоговые значения должны совпадать с итогами каждого листа в рабочей книге (сопроводительная документация). Ниже приведен код, в котором я определил переменные для рабочих листов и назвал диапазоны, в которых находится каждая общая сумма. Я хочу построить код, чтобы сделать следующее: Есть ли RecAR = ARbal? Если «Да», то условно форматируйте «ОК» в «Зеленый»; Если нет, то «Разница» и условно формат в Красной Это должно быть сделано для всех сравнений, как так:Подтверждение итоговых итоговых итогов на главном листе для поддержки рабочих листов
RecAR = ARbal
RecTB1 = TBbal1
RecJE1 = JEnb1
RecPP = PPbal
RecTB2 = TBbal2
RecJE2 = JEnb2
Мастер листа является «Примирение» лист. Итоговые значения перечислены в столбцах D, E, F, H, I, J и будут находиться в той же строке, где «Grand Total» заполняется в столбце A. В этом примере он расположен на строке 15386, но это будет отличаться от месяца до месяца. Я бы хотел, чтобы валидация была ниже итогов на главной странице сверки.
Sub RecValidation()
'Goal is to create a validation check to ensure all data transfered from supporting docs to
'recon template
'
'Set up worksheet variables for supporting tabs
Dim Aged As Worksheet
Dim TB1 As Worksheet
Dim TB2 As Worksheet
Dim JEAR As Worksheet
Dim JEPP As Worksheet
Set Aged = Sheets("Aged AR")
Set TB1 = Sheets("TB 1260 AR")
Set TB2 = Sheets("TB 2255 Prepaid")
Set JEAR = Sheets("JEs 1260 AR")
Set JEPP = Sheets("JEs 2255 Prepaid")
'Set up Range variables for the grandtotals for each column with amounts on recon template that come from supporting docs
Dim RecAR As Range
Dim RecTB1 As Range
Dim RecJE1 As Range
Dim RecPP As Range
Dim RecTB2 As Range
Dim RecJE2 As Range
Set RecAR = Columns("A").Find("Grand Total", LookAt:=xlPart).Offset(0, 3)
Set RecTB1 = RecAR.Offset(0, 1)
Set RecJE1 = RecAR.Offset(0, 2)
Set RecPP = RecAR.Offset(0, 4)
Set RecTB2 = RecAR.Offset(0, 5)
Set RecJE2 = RecAR.Offset(0, 6)
'Set up Range variables for the grandtotals for each supporting document
Dim ARbal As Range
Dim PPbal As Range
Dim TBbal1 As Range
Dim TBbal2 As Range
Dim JEnb1 As Range
Dim JEnb2 As Range
'The headers may be in a merged cell therefore I'm offsetting a few rows down then using xlDown
'to get to the row with the total. All supporting documentation will have the totals the next
'row below the last row of data
Set ARbal = Aged.Cells.Find("Charges", LookAt:=xlPart).Offset(5, 0).End(xlDown)
Set PPbal = Aged.Cells.Find("Prepays", LookAt:=xlPart).Offset(5, 0).End(xlDown)
Set TBbal1 = TB1.Cells.Find("Tenant", LookAt:=xlPart).Offset(5, 0).End(xlDown)
Set TBbal2 = TB2.Cells.Find("Tenant", LookAt:=xlPart).Offset(5, 0).End(xlDown)
Set JEnb1 = JEAR.Cells.Find("Net Activity", LookAt:=xlPart).End(xlDown)
Set JEnb2 = JEPP.Cells.Find("Net Activity", LookAt:=xlPart).End(xlDown)
Благодарим за внимание. Это мой первый опыт работы с перечислением, поэтому я не уверен, что мне нужно сделать для выполнения. Нужно ли мне менять свой суб, как частный или публичный, или мне нужно позвонить что-то? – fonzy16
Жаль, что я не был чист. Относитесь к определению Enum как к его новой функции или к югу. Вы должны буквально просто вставить «Public Enum ... End Enum», который у меня выше или ниже существующего Sub. Обычно я использую 'Public Enum ... End Enum'. У меня нет проблем с определением Enum как общего. – DeanBDean
Извиняюсь, но я не уверен в порядке работы. Я предполагаю, что я размещаю Public Enum ...End Enum в начале модуля, тогда у меня должен быть под ним ниже, и я положу определение диапазонов и цикла. Я получаю сообщение об ошибке «sub or function», которое не определяется, когда оно считывает настройки разных диапазонов. Все, что я узнал, было проведено через мое собственное исследование, поэтому такие вещи появятся, и я не уверен, с чего начать. – fonzy16