特定の条件下で特定のセルを変更するワークシートのみを指定する 1 つの文字列を含む定式化されたセルがあります。
注: ワークシート "Total" と "Test1" から "Test20" は同じ形式です (まったく変更したくない名前と形式の異なるワークシートが他にもあります)。
ワークシート「Total」、「Test2」、「Test7」、「Test12」のセル A5 を変更したいとします。
非表示の定式化セル (B50 としましょう) は、次のテキスト文字列を取得するように定式化されています: "Array("Total", "Test2", "Test7", "Test12")". Sheets(SheetNamesList).Select が実際に Sheets(Array("Total", "Test2", "Test7", "Test12")).Select になる vba コードの一部になることを期待して、この値を変数に割り当てています。
Suscript out of range エラーが発生し、デバッグ時に行 [Sheets(SheetNamesList).Select] が強調表示されます。
以下は私のコードです。コメントしてくださってありがとうございます
Sub Active_to_Installed()
Dim SheetNamesList As String
SheetNamesList = Sheets("Names").Range("B50").Value
If Range("B50").Value = "A" Then
Range("B50").Activate
Sheets(SheetNamesList).Select
ActiveSheet.Activate
Range("A5").Select
ActiveCell.FormulaR1C1 = "I"
Else
Range("A5").Activate
Sheets(SheetNamesList).Select
ActiveSheet.Activate
Range("A5").Select
ActiveCell.FormulaR1C1 = "A"
End If
End sub