Я новичок в Excel VBA и надеюсь получить помощь по немного кода. У нас есть книга с четырьмя идентичными рабочими листами, по одному для каждого квартала года. То, что я хотел бы сделать, это запустить код при нажатии кнопки командной строки, которая заменяет идентификационную информацию с помощью общей, последовательной пронумерованной информации (ex: Joe Smith становится Male1). Существует несколько типов участников, представленных в столбцах таблицы, а также в нескольких строках в электронной таблице. Таким образом, данные для мужчин находятся в ячейках C11, C28, C45..C215, J11, J28, J45, X11, X28, X45 ... AE215 на 4 вкладках.Замените содержимое через несмежные ячейки на нескольких листах - Ошибка 1004
У меня есть массив рабочих листов, который идентифицирует четыре ежеквартальные вкладки и код для каждого типа участника, который определяет диапазон ячеек, в которых будут указаны их имена.
Код ниже дает мне Ошибка 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
Siddharth - похоже, что он отлично работает. Мне нужно будет добавить дополнительный код для остальных типов людей и дать ему тест. Спасибо вам большое за это. – Stephanie
Woops - хит слишком скоро. Можете ли вы уточнить для меня, что означает «Шаг 17» в коде? – Stephanie
Если вы заметили, что существует последовательность i.e, если каждая ячейка в конкретном столбце находится после 17 ячеек, например C28 - 17 ячеек после C11 и так далее. Я просто поставил их в петлю :) –