Я новичок в Excel VBA и надеюсь на помощь с небольшим количеством кода.У нас есть рабочая тетрадь с четырьмя одинаковыми рабочими листами, по одному на каждый квартал года.То, что я хотел бы сделать, это запустить код при нажатии кнопки команды, который заменяет информацию идентифицирующего имени общей, последовательно пронумерованной информацией ( ex: Джо Смит становится Male1) .Существует несколько типов участников, представленных в столбцах таблицы, а также в нескольких строках электронной таблицы.Итак, данные для мужчин находятся в ячейках C11, C28, C45..C215, J11, J28, J45, X11, X28, X45 ... AE215 на 4 вкладках.
У меня есть массив таблиц, в котором указаны четыре квартальные вкладки, и код для каждого типа участника, который определяет диапазон ячеек, в которых будут перечислены их имена.
Приведенный ниже код дает мне Ошибка 1004 Метод 'Range' объекта '_Worksheet' не удалось в строке For Each MaleCare
... Любое понимание того, что я делаю неправильно?
Sub DelConfSAVE()
Dim sh As Worksheet
For Each sh In Worksheets(Array("Oct-Dec Attendance", "Jan-Mar Attendance", _
"Apr-Jun Attendance", "Jul-Sep Attendance"))
'Replace Male Caregiver (X)
Dim MaleCare As Range
Dim X As Integer
X = 0
For Each MaleCare In sh.Range("C11, C28, C45, C62, C79, C96, C113, C130, C147, C164, C181, C198, C215, J11, J28, J45, J62, J79, J96, J113, J130,J147, J164, J181, J198, J215, Q11, Q28, Q45, Q62, Q79, Q96, Q113, Q130, Q147, Q164, Q181, Q198, Q215, X11, X28, X45, X62, X79, X96, X113, X130, X147, X164, X181, X198, X215, AE11, AE28, AE45, AE62, AE79, AE96, AE113, AE130, AE147, AE164, AE181, AE198, AE215")
If MaleCare.Value <> "" Then
X = X + 1
MaleCare.Value = "MaleCare" & X
End If
Next MaleCare
Exit For
'Replace Female Caregiver (Y)
Dim FemCare As Range
Dim Y As Integer
Y = 0
For Each FemCare In sh.Range("D11, D28, D45, D62, D79, D96, D113, D130, D147, D164, D181, D198, D215, K11, K28, K45, K62, K79, K96, K113, K130, K147, K164, K181, K198, K215, R11, R28, R45, R62, R79, R96, R113, R130, R147, R164, R181, R198, R215, Y11, Y28, Y45, Y62, Y79, Y96, Y113, Y130, Y147, Y164, Y181, Y198, Y215,AF11, AF28, AF45, AF62, AF79, AF96, AF113, AF130, AF147, AF164, AF181, AF198, AF215")
If FemCare.Value <> "" Then
Y = Y + 1
FemCare.Value = "FemCare" & Y
End If
Next FemCare
Exit For
'And additional code for Youth1 Youth2 Youth3 OtherAdult cut for posting brevity
Next sh
End Sub