私はExcelのVBA初心者で、少しのコードについて助けが必要です。 4つの同一のワークシートを含むワークブックがあり、1年に1つのワークシートがあります。私がしたいのは、コマンドボタンのクリックでコードを実行することです。これは、名前情報を一般的な番号の付いた情報(例:Joe SmithがMale1になります)に置き換えます。ワークシートの列全体にまたはスプレッドシート内の複数の行で表される複数の参加者タイプがあります。したがって、男性のデータは、4つのタブにまたがるセルC11、C28、C45..C215、J11、J28、J45、X11、X28、X45 ... AE215にあります。複数のワークシートにわたる連続していないセルの内容を置き換えます - エラー1004
4つの四半期のタブを識別するワークシート配列があり、名前がリストされるセル範囲を定義する各参加者タイプのコードがあります。
以下のコードは... エラー「_Worksheet」オブジェクトの1004メソッド「range」に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
シッダース - これは完全に機能するようです。残りのタイプの人々のためのコードを追加し、テストを行う必要があります。これをありがとうございました。 – Stephanie
Woops - すぐに入力してください。コードの「ステップ17」の部分が何を意味するのかを私に明確にすることはできますか? – Stephanie
シーケンスがある場合、つまり特定の列のすべてのセルが17個のセルの後にある場合、たとえばC28がC11の後に17個のセルになるなどのように認識された場合も同様です。私は単にそれらをループに入れます:) –